构造函数初始化时必须采用初始化列表一共有三种情况,
1. 没有默认构造函数的类成员对象()
2. 带有引用的变量类成员
2. (常量成员)需要初始化const修饰的类成员
3. (引用)需要初始化引用成员数据不需要初始化的有
1. 指针
2. static 标记的,static const 也不需初始化列表中
- 因为static属于类并不属于具体的对象,所以 static成员是不允许在类内初始化的,那么static const 成员是不是在初始化列表中呢?
答案是NO
一是static属于类,它在未实例化的时候就已经存在了,而构造函数的初始化列表,只有在实例化的时候才执行。
二是static成员不属于对象。我们在调用构造函数自然是创建对象,一个跟对象没直接关系的成员要它做什么呢