必须使用成员初始化列表进行初始化的情况:
1)初始化一个引用成员变量;
2)初始化一个常量成员变量;
3)调用基类的构造函数,并且要指定参数;
4)调用类类型的成员变量的构造函数,并指定参数;
在使用初始化成员列表对成员进行初始化的时候,一定要注意初始化顺序不是由初始化列表的顺序决定的,而是由类中成员变量的声明顺序决定的。所以尽量使用的是constructor体内的member,而不是初始化列表中的member。另外,初始化列表中的项目会被放在constructor中用户代码之前。
必须使用成员初始化列表进行初始化的情况:
1)初始化一个引用成员变量;
2)初始化一个常量成员变量;
3)调用基类的构造函数,并且要指定参数;
4)调用类类型的成员变量的构造函数,并指定参数;
在使用初始化成员列表对成员进行初始化的时候,一定要注意初始化顺序不是由初始化列表的顺序决定的,而是由类中成员变量的声明顺序决定的。所以尽量使用的是constructor体内的member,而不是初始化列表中的member。另外,初始化列表中的项目会被放在constructor中用户代码之前。