构造函数需使用初始化列表的情况
1、const成员(声明后需要马上初始化,构造函数体内是赋值,不被允许)
2、成员为引用(同上)
3、类成员(没有默认构造函数,只有带参数的构造函数)
4、派生类中对基类成员的初始化(1、可以确保构造顺序,先构造基类,再构造派生类2、如果基类没有默认构造函数,更应该放在初始化列表中,否则编译不通过,因为进入派生类构造函数体中默认基类是初始化好的)
构造函数需使用初始化列表的情况
1、const成员(声明后需要马上初始化,构造函数体内是赋值,不被允许)
2、成员为引用(同上)
3、类成员(没有默认构造函数,只有带参数的构造函数)
4、派生类中对基类成员的初始化(1、可以确保构造顺序,先构造基类,再构造派生类2、如果基类没有默认构造函数,更应该放在初始化列表中,否则编译不通过,因为进入派生类构造函数体中默认基类是初始化好的)