天天看點

C++:關于構造函數

     類屬于一種使用者自定義的資料類型,在聲明一個對象的時候,編譯程式要為對象配置設定存儲空間,進行必要的初始化,這些工作是由構造函數來完成的.簡單了解,構造函數就是用來對資料成員進行初始化的。

      與構造函數相對應的是析構函數,它們之間的關系很像"new"和“delete”的關系,而且它們的聲明和最後的銷毀也是想new和delete那樣對應的。析構函數用來收回存儲空間,完成一些善後的工作.

構造函數使用的一些注意事項:

  1,構造函數名字必須與類名相同。

  2,構造函數不指定傳回值,但有隐含傳回值,就是說傳回值這裡可以先不用考慮。

  3,構造函數可以重載。

  4,調用構造函數對類對象初始化時,先執行初始化清單中的資料成員,再執行構造函數體中的内容。初始化清單中數  據成員的初始化順序與類體中定義的順序相同。

       尤其要注意的是第4條中初始化清單中資料成員的初始化順序。

構造函數的示例:

結果:

C++:關于構造函數

      需要調用的是,構造函數的調用與析構函數相反,這兩個東西看起來類似于VB中form_load和form_unload,但是 使用形式上更像進棧和出棧,先進後出,先調用構造函數的對象後被銷毀。

在調用構造函數時,除了用傳統的資料類型,比如int,double型資料進行對象的初始化外,還可以用一個已知的對象來初始化一個正在建立的同類對象,這種特殊的構造函數叫做複制的構造函數。

例如:

C++:關于構造函數

  用對象來初始化對象本質上和用一般資料來初始化對象一樣,因為對象很像是一種使用者自定義的資料類型,它的使用和一般資料類型一樣。

繼續閱讀