构造函数初始化式
构造函数分为初始化阶段、普通计算阶段,计算阶段由构造函数体中所有语句组成,初始化阶段发生在计算阶段之前
初始化阶段
// 构造函数初始化列表,m_nAge用参数nAge初始化,m_strName初始化为wangwu Teacher::Teacher(const int nAge):m_nAge(nAge),m_strName("wangwu") {}
如果没有给类成员提供初始化式,默认调用类成员默认构造函数,成员类没有默认构造会报错
初始化const数据成员和引用类型数据成员必须在初始化式中
总结
必须对没有构造函数或者const数据成员和引用类型数据成员使用初始化式