class base
{
public:
base():b(2){}
base(int _a):a(_a), b(2){}
~base(){}
private:
int a = 1;
const int b = 2;
//static int c = 3; error,不允许这么初始化
const static d = 4;
};
1.普通成员变量,如上 int a ;
(1)初始化列表,
(2)构造函数内部,
(3)声明时初始化,C++11标准,一般会有警告
2.常量成员,const int b;
(1)初始化列表,不能在构造函数里初始化
(2)声明时初始化,C++11标准,一般会有警告
3.静态成员,static int c;
不属于某一个对象,所以只能用类作用域初始化,int base::c = 3;
4.静态常量 ,const static d; static const d;
只能如代码中那么初始化