在类中初始化私有静态变量

Ron*_*ing 3 c++ class

我在头文件中有一个类:

class Employee
    {
        //Private data members
    private:
        string firstName;
        string lastName;
        char gender;

        //number of employees
        const static int numEmployees = 0;

    public: 
    ....
    };
Run Code Online (Sandbox Code Playgroud)

愚蠢的事情是在教师的"GUIDELINE"中说,在类的私有成员中声明numEmployees为静态整数值0

问题是我无法更新numEmployees变量,因为它是const,例如当您在公共场所声明构造函数时:..您无法增加numEmployees = numEmployees + 1.

如果不申报numEmployeesconst,只是做static int numEmployees;的Visual Studio 2010报错说,只有const将在课堂上宣布.

知道如何申报numEmployees吗?谢谢!

sti*_*ijn 6

既然numEmployees会改变,那就不应该const.非const静态变量必须在类声明之外进行初始化,例如在源文件中,如下所示:

int Employee::numEmployees = 0;
Run Code Online (Sandbox Code Playgroud)

话虽这么说,numEmployees作为Employee班上的一员可能不是最好的主意.

我会做gender一个枚举,而不是一个字符.