我在头文件中有一个类:
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.
如果不申报numEmployees的const,只是做static int numEmployees;的Visual Studio 2010报错说,只有const将在课堂上宣布.
知道如何申报numEmployees吗?谢谢!
既然numEmployees会改变,那就不应该const.非const静态变量必须在类声明之外进行初始化,例如在源文件中,如下所示:
int Employee::numEmployees = 0;
Run Code Online (Sandbox Code Playgroud)
话虽这么说,numEmployees作为Employee班上的一员可能不是最好的主意.
我会做gender一个枚举,而不是一个字符.