构造函数初始化时必须采用初始化列表一共有下面几种情况:
1.需要初始化const修饰的类成员
2.需要初始化引用成员数据
1.需要初始化const修饰的类成员
2.需要初始化引用成员数据
const对象或引用只能初始化但是不能赋值。构造函数的函数体内只能做赋值而不是初始化,因此初始化const对象或引用的唯一机会是构造函数函数体之前的初始化列表中。
从无到有叫初始化,初始化(调用拷贝构造函数)创建了新对象;赋值(调用赋值操作符)没有创建新对象,而是对已有的对象赋值。
3.需要初始化的数据成员是对象(存在继承关系,继承时调用基类构造函数) 原因同样是创建对象时,要初始类成员的每一个成员
4.
类成员为没有默认构造函数的类类型