gpt4 book ai didi

c++ - 在类中创建静态变量 (C++)

转载 作者:行者123 更新时间:2023-11-30 03:48:55 25 4
gpt4 key购买 nike

所以我是一个编程新手,我不确定为什么我不能在我的类中创建一个静态变量?我在类里面收到一个问题,我不确定我是否以正确的方式处理它。问题是:创建一个带有静态成员项的类,以便每当有新对象时创建后,可以报告该类的对象总数。

到目前为止,这是我的代码:

#include <iostream>

class ObjectCount
{
public:
ObjectCount();
void reportObjectNo();

private:
static int objectNo = 0;

};


ObjectCount::ObjectCount()
{
objectNo++;
}

void ObjectCount::reportObjectNo()
{
std::cout << "Number of object created for class ObjectCount: " << objectNo << std::endl;
}

int main()
{
ObjectCount firstObject;
firstObject.reportObjectNo();

ObjectCount secondObject;
secondObject.reportObjectNo();

ObjectCount thirdObject;
thirdObject.reportObjectNo();
return 0;
}

我得到的错误是:

ISO C++ forbids in-class initialization of non-const static member 'objectNo'
line 9

如果有人问过这个问题,我深表歉意,但我找不到任何对我有帮助的东西,如果有链接,我将不胜感激:)

最佳答案

错误消息告诉您不能初始化类内部的非const static 成员。这意味着您需要将代码更改为更像:

class ObjectCount
{
public:
ObjectCount();
void reportObjectNo();

private:
static int objectNo;

};

int ObjectCount::objectNo = 0;

关于c++ - 在类中创建静态变量 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32918441/

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