a、初始值列表:1)立即进行初始化;2)先定义、再赋值。如果成员是const或是引用,必须将其初始化
b、如果成员是const、引用,或者属于某种未提供默认构造函数的类类型,我们必须通过构造函数初始值列表为这些成员提供初始值。初始值列表中的前后位置不会影响实际的初始化顺序,初始化顺序是在类中定义出现的顺序。尽量避免用某些成员初始化其他成员。
c、默认构造函数的行为与接受一个默认实参的构造函数一样。
d、委托构造函数。
e、隐式的类类型转换,用关键字explicit加以阻止,只能在类内声明构造函数时才可以使用explicit,只对一个实参的构造函数有效。多个实参的构造函数不能用于执行隐式转换。
f、聚合类
g、字面值常量类