4.0 C++远征:构造函数初始化列表

构造函数初始化列表

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;
};
原文地址:https://www.cnblogs.com/xiaoqingyang/p/6076785.html