三、構(gòu)造函數(shù)的參數(shù)初始化表
如果類對象的某些數(shù)據(jù)成員沒有載構(gòu)造函數(shù)內(nèi)部被初始化,那么必須使用構(gòu)造函數(shù)的參數(shù)初始化表對他們進(jìn)行初始化。否則,編譯器不止到該如何初始化這些還等著在構(gòu)造函數(shù)內(nèi)部賦值的成員。我們習(xí)慣用參數(shù)初始化表來初始化所有數(shù)據(jù)成員。
class Date
{
int mo,da,yr;
public:
Date(int m=0,int d=0,int y=0);
};
class Employee
{
int empno;
Date datehired;
public:
Employee(int en,Date& dh);
};
可以用下面兩種方法編寫Employee類的構(gòu)造函數(shù):
Employee::Employee(int en,Date& dt)
{
empno=en;
datehired=dh;
}
或者;
Employee::Employee(int en,Date& dt):empno(en),datehired(dh)
{
//empty
}
雖然這兩種方法效果是一樣的,但是根據(jù)Date對象默認(rèn)構(gòu)造函數(shù)的復(fù)雜性的不同,這兩種形式的效率差別是很大的。
相關(guān)推薦:
2010年9月計(jì)算機(jī)等級考試試題及答案解析專題
預(yù)告:名師解析2010年9月計(jì)算機(jī)等級考試試題答案
2010年9月計(jì)算機(jī)等級考試成績查詢時(shí)間及入口