C++編程人員容易犯的10個C#錯誤7

字號:

錯誤7:類成員變量的初始化
    C#中的初始化與C++中不同。假設(shè)有一個帶有private性質(zhì)的成員變量age的Person類,Employee是由繼承Person類而生成的,它有一個private性質(zhì)的salaryLevel成員變量。在C++中,我們可以在Employee的構(gòu)造器的初始化部分初始化salaryLevel,如下面的代碼所示:
    Employee::Employee(int theAge, int theSalaryLevel):
    Person(theAge) // 初始化基礎(chǔ)類
    salaryLevel(theSalaryLevel) // 初始化成員變量
    {
    // 構(gòu)造器的代碼
    }
    這種方法在C#中是非法的。盡管仍然可以初始化基礎(chǔ)類,但象上面的代碼那樣對成員變量初始化就會引起編譯錯誤。在C#中,我們可以在定義成員變量時的同時對它進行初始化:
    Class Employee : public Person
    {
    // 成員變量的定義
    private salaryLevel = 3; // 初始化
    }
    注意:必須明確地定義每個變量的訪問權(quán)限。