构造函数作用:在对象被创建时利用特定的值来构造对象,使对象初始化一个特定的状态。(可以对象初始化,类比于基本类型变量初始化)
例:
int a=5;//变量初始化
class Time{ //定义时间类,属性:时,分,秒
......
}
Time now(1,2,3);//对象初始化
构造函数初始化赋值:
例:时间类构造函数
class Time{
public:
Time(int newH,int newM,int newS); //构造函数声明
private:
int hour,minute,second;
};
Time::Time( int newH,int newM,int newS ){ //构造函数定义
hour=nowH;
minute=newM;
second=newS;
}
Time now(1,2,3) ; //对象初始化 right 初始化时间为1:2:3;
Time now; //对象初始化 error;
构造函数初始化列表:
例:时间类构造函数
class Time{
public:
Time(); //构造函数声明
private:
int hour,minute,second;
};
Time::Time:hour(1),minute(2),hour(3) //构造函数定义
Time now(1,2,3) ; //对象初始化 error;
Time now; //对象初始化 right 初始化时间为1:2:3
组合类构造函数:
当创建类的对象时,如果这个类具有内嵌对象成员,那么各个内嵌对象将首先被自动创建。因此对对象初始化时,既要对本类基本类型成员初始化,也要对内嵌对象成员进行初始化。