首頁 > 後端開發 > C++ > C 11 中的建構子繼承:它是如何運作的?

C 11 中的建構子繼承:它是如何運作的?

Mary-Kate Olsen
發布: 2024-11-07 01:49:03
原創
565 人瀏覽過

Constructor Inheritance in C  11: How Does It Work?

在C 11 中繼承建構子

在C 11 中,建構子繼承允許衍生類別從其基底類別隱式繼承建構函數。這是透過 using 關鍵字實現的,它指定衍生類別應該使用基底類別的建構子。

語法:

struct B {
  B(int); // Normal constructor 1
  B(string); // Normal constructor 2
};

struct D : B {
  using B::B; // Inherit constructors from B
};
登入後複製

意義:

    • D::D(int);
    • D ::D(string);
  • D 的成員變數由這些繼承的建構子預設初始化。

應用程式:

構造函數繼承在以下場景中很有用:

  • 節省打字工作: 它消除了在衍生類別中手動定義建構函式的需要。
  • 確保基類初始化:它保證基類正確初始化。

深入解釋:

標準函式庫定義繼承建構子如下:

D::D(int x) : B(x) {}
D::D(string s) : B(s) {}
登入後複製
這表示當構造衍生類別D 的實例時,它將呼叫基類B 的適當構造函數來初始化其基成員。

以上是C 11 中的建構子繼承:它是如何運作的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板