必须放在初始化列表的情况:
1、常量成员
常量(const)只能初始化不能赋值(但是可以通过指针的方式来访问修改该值),所以必须放在初始化列表里面。
2、引用类型
引用必须在定义的时候初始化,并且不能重新赋值(它在运行时刻不能改变),所以也要写在初始化列表里面
3、没有默认构造函数的类类型
使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化。 所以当一个类类型的成员变量没有默认构造函数时,只能在初始化列表中进行。且是拷贝构造函数在起作用。
必须放在初始化列表的情况:
1、常量成员
常量(const)只能初始化不能赋值(但是可以通过指针的方式来访问修改该值),所以必须放在初始化列表里面。
2、引用类型
引用必须在定义的时候初始化,并且不能重新赋值(它在运行时刻不能改变),所以也要写在初始化列表里面
3、没有默认构造函数的类类型
使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化。 所以当一个类类型的成员变量没有默认构造函数时,只能在初始化列表中进行。且是拷贝构造函数在起作用。