C 中類的預設建構函式

2021-10-24 05:41:26 字數 443 閱讀 6741

在《c++中類的合成的預設建構函式2-1》和《c++中類的合成的預設建構函式2-2》中提到,如果類中沒有顯式地定義預設建構函式,則c++編譯器會為其創造乙個合成的預設建構函式,如果類中已經定義了其他格式的建構函式,此時c++編譯器不會再為其合成預設建構函式。而定義類時,最好要定義其預設的建構函式。

在c++11中,引入了default關鍵字來定義預設建構函式。

class mystruct ;
在以上**中,通過default關鍵字定義了mystruct類的預設建構函式。當然,也可以將其定義在mystruct類之外。

class mystruct ;

mystruct::mystruct() = default;

將預設建構函式定義在類內部時,該函式是內聯函式,當預設的建構函式定義在類的外部時,該函式不是內聯函式。

c 中類的預設建構函式,析構函式,拷貝建構函式

1.預設建構函式 如果沒有顯示的為類宣告建構函式,編譯器將生成乙個不接受任何引數。也不執行任何操作的預設建構函式。然而你可以建立自己的預設建構函式,它不接受任何引數,但根據需要對物件進行設定。編譯器提供的建構函式被稱為預設建構函式,但按照慣例,任何不接受引數的建構函式都是預設建構函式。如果你建立了任...

c 中類的預設建構函式,析構函式,拷貝建構函式

1.預設建構函式 如果沒有顯示的為類宣告建構函式,編譯器將生成乙個不接受任何引數。也不執行任何操作的預設建構函式。然而你可以建立自己的預設建構函式,它不接受任何引數,但根據需要對物件進行設定。編譯器提供的建構函式被稱為預設建構函式,但按照慣例,任何不接受引數的建構函式都是預設建構函式。如果你建立了任...

C 中類的預設構造函式呼叫的時機

當不使用任何初始值定義乙個類的非靜態變數時,會呼叫該類的預設建構函式。a a 此時,會呼叫類a的預設建構函式。在 c 中類的合成預設建構函式2 1 中提到,如果類中沒有顯式地定義預設建構函式,則c 編譯器會為其創造乙個合成的預設建構函式,如果類中已經定義了其他格式的建構函式,此時c 編譯器不會再為其...