class A{private:static int a;static const int b;static const int c=12;static const double d;char f;};
在一个类中,数据成员的初始化: 一般的数据成员或者常量数据都是通过构造函数来实现初始化,然而对于静态数据(指的是非const类型)初始化,都是在类的定义外部类初始化,例如calss A中的数据成员a,初始化必须在外部用static int A:: a=0来初始化,对于成员b定义需要在外部使用const int b=0;来初始化,d也是一样的,但是可能大家会疑惑为什么d不能像c那样在内部定义好呢?这个是由于C++标准,规定,数据成员初始化必须是静态常量而且是整形的数据才行。所以d不可以在内部定义,只能想数据b一样,在外部定义即初始化。
class A{private:static int a;static const int b;static const int c=12;static const double d;char f;};在一个类中,数据成员的初始化: 一般的数据成员或者常量数据都是通过构造函数来实现初始化,然而对于静态数据(指的是非const类型)初始化,都是在类的定义外部类初始化,例如calss