![]() |
我是李孟修 - 物件導向程式設計 - 建構子Constructor敘述 |
|
|
建構子Constructor敘述在類別的方法中,有一個很特殊的方法「建構函數」或叫「建構子」,它特別的地方在於他與類別的名稱是一樣的。 意義: –建構子就像是一個類別中用來製造物件的函數 –宣告物件時,建構子會被自動呼叫,且其主要內容就是替資料成員設定適當的物件初始化(initialize)。 建構子是當類別建立物件時,自動被呼叫出來,不能有傳回值,因為它是系統自行呼叫,自然就不必傳回任何資料。 建構子的定義: 類別名稱 :: 類別名稱(引數的list) class ABC { int data; int count; public: ABC( int , int ); //建構子 : }; ABC :: ABC( int x , int y ) //建構子定義(外部) { data = x ; count = y ; } --------建構子Constructor敘述-------- •建構子雖可以啟始物件初值,若只定義一個建構子在使用上會受到該建構子參數的限制。 •建構子是特殊的成員函數,是函數的一種,所以若要讓物件的宣告有彈性起見 , 同一個類別當中定義了兩個以上相同名稱的建構子,稱為建構子重載(Constructor overloading) 。 亦即建構子也可以帶有參數,編譯器也會因建立物件之參數不同 而選擇不同的建構子。 何時需要建構子重載 : 需要有不同初始值設定個數的情形下。
|
|