类和对象(下)C++
1. 再谈构造函数 构造函数调用之后,对象中已经有了一个初始值,但是不能将其称作为类对象成员的初始化,构造 函数体中的语句只能将其称作为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内 可以多次赋值。 class Date { public: //这样的构造函数中是赋初始值,不是初始化 //Date(int year,int month,int day) //{ // _year = year; // _month = month; // _day = day; //} Date(int year, int month, int day) :_year(year) //初始化列表 用:后面个参数赋值用,隔开,最后一个参数后不加分隔符 , _month(month) , _day(day) {} private: int _year; int _month; int _day; }; int main() { Date d1(2016, 6, 6); return 0; } 注意: 1. 每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次) 。 2. 类中包含以下成员,必须放在初始化列表位置进行初始化: 引用成员变量 const成员变量 类类型成员(该类没有默认构造函数 3. 尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量