class B {
public:
static int a;
};
class C:B {
};
Run Code Online (Sandbox Code Playgroud)
我想通过任何继承的类使用变量,但是当我声明一个时它有问题.
B::B() {
a=1;
};
Run Code Online (Sandbox Code Playgroud)
我做得对吗?
感谢您阅读并等待您的意见.
//我想念分号,这不是我说的错误.//当我尝试delcare类GameState {public:static int a = 1; // ...};
Error 7 error C2864: 'CGameState::a' : only static const integral data members can be initialized within a class d:\my dropbox\work\#today\gdimario\gdimario\gamestate.h 18
Run Code Online (Sandbox Code Playgroud)
我尝试写一个简单的问题,显示我想要的问题,而不是粘贴我的整个代码.
您可以像使用派生类和基类一样直接使用它.
也许你的错误是你的类声明结束时没有分号?
class B {
public:
static int a;
};
class C:B {
};
Run Code Online (Sandbox Code Playgroud)
如果你想从C的实例调用它,那么你需要使用公共继承:(如果没有指定任何私有继承)
class C : public B {
};
Run Code Online (Sandbox Code Playgroud)
要初始化你需要这样做(通常在相应的.CPP文件的顶部):
int B::a = 3;
Run Code Online (Sandbox Code Playgroud)