构造函数初始化列表
1.默认构造函数
在实例化对象时不用传参的函数,叫做默认构造函数。
2.初始化列表
代码示范:
class Student{
public:
Student():m_strName("Jim"), m_iAge(10){}
private:
string m_strName;
int m_iAge;
};
只能用小括号赋值。
特性:
(1)初始化列表先于构造函数执行;
(2)初始化列表只能用于构造函数;
(3)初始化列表可以同时初始化多个数据成员。
3.初始化列表存在的必要性
举例:
class Circle{
public:
Circle(){
m_dPi = 3.14; // 错误,不能给const类型用=赋值
}
private:
const double m_dPi;
};
只能通过初始化列表来实现:
class Circle{
public:
Circle():m_dPi(3.14);
private:
const double m_dPi;
};