c 之建構函式詳解C 建構函式的理解

2021-10-19 13:30:01 字數 560 閱讀 6020

相對於c語言來說,c++有乙個比較好的特性就是建構函式,即類通過乙個或者幾個特殊的成員函式來控制其物件的初始化過程。建構函式的任務,就是初始化物件的資料成員,無論何時只要類的物件被建立,就會執行建構函式。

建構函式的名字必須和類名相同,與其他函式不一樣的是,建構函式沒有返回值,而且其必須是公有成員,因為私有成員不允許外部訪問,且函式不能宣告為const型別,建構函式的語法是這樣的:

class test

{ public:

test()

{std::cout<<"hello world!"《在main函式執行之前,object被定義時就會呼叫test函式,輸出"hello world!"。

這裡只是示範了乙個最簡單的建構函式的形式,其實建構函式是個比較複雜的部分,有非常多神奇的特性。

當我們程式中並沒有顯式的定義建構函式時,系統會提供乙個預設的建構函式,這種編譯器建立的建構函式又被稱為合成的預設建構函式,合成建構函式的初始化規則是這樣的:

需要注意的是,只有當使用者沒有顯式地定義建構函式時,編譯器才會為其定義預設建構函式。

在某些情況下,預設建構函式是不合適的:

C 建構函式詳解(複製建構函式)

該類物件被建立時,編譯系統物件分配記憶體空間,並自動呼叫該建構函式,由建構函式完成成員的初始化工作,故 建構函式的作用 初始化物件的資料成員。1 class complex 2 18 19 一般建構函式 也稱過載建構函式 20 一般建構函式可以有各種引數形式,乙個類可以有多個一般建構函式,前提是引數...

C 建構函式詳解(複製建構函式)

該類物件被建立時,編譯系統物件分配記憶體空間,並自動呼叫該建構函式,由建構函式完成成員的初始化工作,故 建構函式的作用 初始化物件的資料成員。class complex 一般建構函式 也稱過載建構函式 一般建構函式可以有各種引數形式,乙個類可以有多個一般建構函式,前提是引數的個數或者型別不同 基於c...

C 建構函式 複製建構函式詳解

建構函式 成員函式的一種,名字與類相同,可以有引數,不能有返回值 void也不行 作用 對物件進行初始化,如給成員變數賦值。物件生成時,建構函式自動被呼叫,物件一旦生成,就再也不能再其上執行建構函式。乙個類可以有多個建構函式。為什麼需要建構函式?有了建構函式就不必專門再寫初始化函式,物件沒有被初始化...