gpt4 book ai didi

c++ - 在类中初始化私有(private)静态变量

转载 作者:太空狗 更新时间:2023-10-29 19:53:51 25 4
gpt4 key购买 nike

我在头文件中有一个类:

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

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

public:
....
};

愚蠢的事情是在讲师的“指南”中说,在类的私有(private)成员中将 numEmployees 声明为静态整数值 0

问题是我无法更新 numEmployees 变量,因为它是 const,例如当您公开声明 Constructor 时:.. 您不能增加 numEmployees =员 worker 数 + 1

如果您不将 numEmployees 声明为 const,只需执行 static int numEmployees; visual studio 2010 给出错误提示,仅 >const 将在类中声明。

知道如何声明 numEmployees 吗?谢谢!

最佳答案

因为 numEmployees 会改变,所以它不应该是 const。非 const 静态变量必须在类声明之外初始化,例如在源文件中,如下所示:

int Employee::numEmployees = 0;

也就是说,numEmployees 成为 Employee 类的成员可能不是最好的主意。

我会让 gender 成为一个枚举,而不是一个字符。

关于c++ - 在类中初始化私有(private)静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com