C 建構函式

2021-08-22 17:08:50 字數 440 閱讀 9128

「建構函式最重要的作用是建立物件本身,物件記憶體的分配由建構函式來完成的」,這句話是錯的,物件記憶體的分配和建構函式沒有關係,物件記憶體的分配是由編譯器來完成的,建構函式的作用是對物件本身做初始化工作,也就是給使用者提供初始化類中成員變數的一種方式,在類物件有虛表的情況下,建構函式還對虛表進行初始化。

另外「c++又規定,如果乙個類沒有提供任何的建構函式,則c++提供乙個預設的建構函式(由c++編譯器提供)」,這句話也是錯誤的,正確的是:

如果乙個類中沒有定義任何的建構函式,那麼編譯器只有在以下三種情況,才會提供預設的建構函式:

1、如果類有虛擬成員函式或者虛擬繼承父類(即有虛擬基類)時;

2、如果類的基類有建構函式(可以是使用者定義的建構函式,或編譯器提供的預設建構函式);

3、在類中的所有非靜態的物件資料成員,它們對應的類中有建構函式(可以是使用者定義的建構函式,或編譯器提供的預設建構函式)。

C 建構函式 拷貝建構函式

建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...

C 構造器(建構函式)

定義和作用 構造器是在構建類的 引用時 自動執行的方法。所以,每個類都必須至少要有乙個構造器。在訪問乙個類的時候,編譯器最先執行構造器中的 它與類同名,帶引數的構造器能夠獲取引數,但是與方法不同的是 構造器雖然也是一種 例項型別 即必須通過例項來進行呼叫,也可以稱之為引用型別 但是卻不能返回任何值 ...

C 建構函式

建構函式是一種特殊的成員函式,它主要用於為物件分配儲存空間,對資料成員進行初始化.1 建構函式的名字必須與類同名 2 建構函式沒有返回型別,它可以帶引數,也可以不帶引數 3 建構函式的主要作用是完成對類的初始化工作 4 在建立乙個類的新物件 使用new關鍵字 時,系統回自動呼叫給類的建構函式初始化新...