使用初始化列表初始化成员变量,而不是显示赋值。原因是const型、引用和无默认构造函数的类类型等无法通过赋值初始化。初始化顺序和列表的顺序无关,而和成员的定义顺序有关。
由此可以导出“不要用成员初始化另一个成员”。
初始化式可以是任意表达式,也可是类的构造函数。
定义一个默认构造函数,或者提供有默认实参的构造函数。
如果不允许隐式转换,对每个单形参的构造函数定义为explicit