【发布时间】:2020-01-08 05:19:08
【问题描述】:
我是 C++ 新手,正在尝试使用类和静态变量。
我找到了使代码运行的解决方案,但我不确定为什么会这样以及为什么我以前的方法没有
#include <iostream>
using namespace std;
class Person {
static int id;
public:
void createPerson() {
id++;
cout << id << endl;
}
};
int Person::id = 0;
int main() {
Person Person1;
Person Person2;
Person1.createPerson();
Person2.createPerson();
}
我想知道为什么我必须在类之外声明 id 的值。以及为什么我不能拥有类似的东西..
class Person {
static int id = 0;
public:
void createPerson() {
id++;
cout << id << endl;
}
};
【问题讨论】:
-
你可以做
static inline int id = 0;
标签: c++ class object methods static