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中文網其他相關文章!