首頁 >後端開發 >C++ >成員初始化列表在 C 構造函數中如何運作?

成員初始化列表在 C 構造函數中如何運作?

Susan Sarandon
Susan Sarandon原創
2024-12-16 06:35:14570瀏覽

How Do Member Initialization Lists Work in C   Constructors?

建構函式中的成員初始化清單

在 C 中,建構子後面的冒號後接表達式是成員初始化清單的一部份。它有兩個主要目的:

1。呼叫基底類別建構子

在衍生類別中,成員初始化清單可用來指定呼叫基底類別建構子的參數。例如,在下列程式碼中:

class demo
{
public:
    demo(unsigned char le = 5, unsigned char default) : len(le)
    {
        // Body of the constructor
    }
};

class newdemo : public demo
{
public:
    newdemo() : demo(0, 0)
    {
        // Body of derived class constructor
    }
};

newdemo 建構子中的 : demo(0, 0) 語法使用參數 0 和 0 呼叫 demo 基底類別的建構子。

2.初始化資料成員

在執行建構函式體之前,可以使用成員初始化清單來初始化類別的資料成員。這對於無法在建構函式主體中賦值的 const 成員特別有用。例如:

class Demo
{
public:
    Demo(int& val) : m_val(val)
    {
        // Body of constructor
    }

private:
    const int& m_val;
};

在此範例中,: m_val(val) 語法使用建構子參數 val 的值初始化 m_val const 引用資料成員。

以上是成員初始化列表在 C 構造函數中如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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