【发布时间】:2014-05-17 04:18:47
【问题描述】:
所以,假设我有这样的标题:
#ifndef BASECLASS_H
#define BASECLASS_H
class BaseClass
{
public:
static int getX(){return x;}
private:
static int x;
};
int BaseClass::x = 10;
#endif
我多次听说我不应该在头文件中初始化静态变量,而应该在 cpp.xml 中初始化。但是因为有守卫,所以BaseClass::x应该只有一份。所以我有点不明白我为什么要放
int BaseClass::x = 10;
在 cpp 中。
【问题讨论】:
-
这里的问题措辞和答案优于指定问题!
标签: c++ oop initialization static-initialization