初始化列表
初始化列表是每个成员变量定义初始化的地方
只需要在构造函数中加上冒号作为起点,需要初始化的成员括号后假如值或者表达式作为初始化。
使用形式:
class A{
A(int a,int b,int c)
:_a(a)
,_b(b)
,_c(c)
{
}
}
注意点:
-
对于引用成员变量,const成员变量,没有默认构造的类类型变量,需要在初始化列表初始化。
-
初始化列表中按照成员变量在类中声明顺序,进行初始化,与初始化列表中的出现顺序无关。
初始化列表行为:
-
进行显式写初始化列表的成员
-
没有在初始化列表的成员
2.1. 声明处有缺省值采用缺省值
2.2 无缺省值
2.2.1 内置类型,取决于编译器设置
2.2.2 自定义类型,调用默认构造函数