1.静态变量必须类外初始化 ,且只能在实现文件中 不能在头文件中
2.常静态变量 int类型和枚举类型 可以直接在声明时候直接初始化,其他类型必须在类外初始化
3.非静态常变量必须在构造函数的初始化列表初始化
#include<iostream>
using namespace std;class A{
private:
static int a[3];
//static const int a=3;
// const int a;
public:
A(){
cout<<"construct A"<<endl;
//cout<<a<<endl;
//cout<<A::a[0]<<endl;
//cout<<A::a[1]<<endl;
//cout<<A::a[2]<<endl;
}
};
int A::a[3]={1,2,3};
int main(){
A a;
return 0;
}