首頁 >後端開發 >C++ >C 建構子:建構函式後面的冒號是什麼意思?

C 建構子:建構函式後面的冒號是什麼意思?

Linda Hamilton
Linda Hamilton原創
2024-11-24 03:57:10463瀏覽

C   Constructors: What Does the Colon After the Constructor Mean?

C :了解建構子後面的冒號

在C 中,建構子後面的冒號表示使用成員初始值設定項列表。此清單有兩個主要目的:

  • 呼叫繼承類別的基底類別建構子
  • 在建構子主體執行之前初始化資料成員

當呼叫基底類別建構子

定義衍生類別時,成員初始值設定項list可用於呼叫基底類別的建構函數。這是透過指定基類構造函數的名稱後跟適當的參數來實現的。例如,在您提供的範例程式碼中:

class newdemo : public demo {
public:
    newdemo(void) : demo(0, 0) {
        // Constructor body
    }
};

在本例中,: demo(0, 0) 使用參數 0 和 0 初始化基底類別 demo。

初始化資料成員

成員初始化器清單也可以用於在先前預初始化資料成員建構函式主體執行。這對於常數資料成員或引用資料成員特別有用。對於 const 成員,不允許在建構函式主體中初始化它們,因為它們的值一旦分配就無法修改。

class Demo {
public:
    Demo(int& val) : m_val(val) {}
private:
    const int& m_val;
};

在此範例中,const 資料成員 m_val 使用成員初始值設定項目清單進行初始化。這是唯一允許為 const 資料成員賦值的位置。同樣,引用資料成員只能透過成員初始值設定項目清單進行初始化。

額外好處

除了上述用途之外,成員初始值設定項清單已成為常見做法C代碼。它提高了程式碼的可讀性,並作為資料成員初始化的清晰指示。

以上是C 建構子:建構函式後面的冒號是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn