成员列表初始化的作用是什么?有哪些情况必须用到成员列表初始化?
1.成员列表初始化的作用
编译器以类中的成员声明顺序在构造函数之内安插初始化操作,并且在任何显示用户代码(构造函数的函数体)之前。(注意真实的初始化顺序是由类中的成员声明顺序,而不是初始化列表上显式标出的顺序)
2.必须使用成员初始化的情况
(1)当初始化一个引用成员时
(2)当初始化一个常量成员时
(3)当调用一个基类的构造函数,而它拥有一组参数时
(4)当调用一个成员类的构造函数,而它拥有一组参数时
编译器以类中的成员声明顺序在构造函数之内安插初始化操作,并且在任何显示用户代码(构造函数的函数体)之前。(注意真实的初始化顺序是由类中的成员声明顺序,而不是初始化列表上显式标出的顺序)
(1)当初始化一个引用成员时
(2)当初始化一个常量成员时
(3)当调用一个基类的构造函数,而它拥有一组参数时
(4)当调用一个成员类的构造函数,而它拥有一组参数时