close

< C++完整教學目錄 >

 

 

建構式的初值設定列(initialization list)

class girl

{

public:

girl(string name_="weiwei", int age_=18 )

{name=name_;age=age_;} //(1) 以傳統資料設定的方式,利用建構式直接設定物件成員初始值。

girl(string name_="weiwei", int age_=18 ):name(name_),age(age_){} //(2) 初值設定列的方式,利用建構式直接設定物件成員初始值。

//註一:上述(1)(2),只能選擇其中一種方法。若兩者皆寫入程式碼,會出錯。

void declare()

{cout<<"I like "<<name<<",she is "<<age<<" years ago."<<endl;}

private:

string name;

int age;

};

girl girl1;   //無論設計者寫了(1)還是(2),都是使用此法宣告物件。

girl1.declare();  //顯示I like weiwei, she is 18 years ago.

註二:(1)(2)的差異不大,若類別成員中包含參考資料型別(如:int &a;),則建議使用初值設定列方式。

 

 

上一篇:類別(class)類別物件陣列

下一篇:類別(class)常數物件

arrow
arrow

    埃伯 發表在 痞客邦 留言(0) 人氣()