类的静态成员
在实际中遇到如下问题:
class CC {
#pragma region Method
public:
static void Method1();
private:
static void Method2();
#pragma endregion Method
#pragma region Property
static int p1= 3;
static int p2;
static short p3[...][...];
#pragma endregion Property
};
编译后出现error1:p1变量必须为常量才可以在类内部初始化。变量分为声明和定义。对
于类的静态成员声明和定义必须分离,即在类的内部声明但是必须在类的外部进行这也不
是绝对的,就像错误提示告诉我们,当一个静态成员为常量时则可以在类的内部完成声明
与定义的工作。
... static const int p1 = 3; ...
同理p2变量需要在类的外部进行定义。p3静态数组成员或是指针也要在类的外部进行定义。
Type Class::PropertyName 在这里如下 int CC::p2 = 3; short CC::p3[][];
最后记住静态成员是在类的范围内共享的,而独立与类的实例。
浙公网安备 33010602011771号