c++默認(rèn)構(gòu)造函數(shù)能被繼承嗎

c++
小樊
82
2024-11-19 12:09:39

C++ 默認(rèn)構(gòu)造函數(shù)(default constructor)是可以被繼承的。當(dāng)一個(gè)類(lèi)沒(méi)有定義任何構(gòu)造函數(shù)時(shí),編譯器會(huì)自動(dòng)生成一個(gè)默認(rèn)構(gòu)造函數(shù)。這個(gè)默認(rèn)構(gòu)造函數(shù)會(huì)調(diào)用基類(lèi)的默認(rèn)構(gòu)造函數(shù)來(lái)初始化基類(lèi)部分。

如果派生類(lèi)需要調(diào)用基類(lèi)的其他構(gòu)造函數(shù),可以在派生類(lèi)的構(gòu)造函數(shù)初始化列表中顯式地調(diào)用基類(lèi)的構(gòu)造函數(shù)。例如:

class Base {
public:
    Base() { } // 默認(rèn)構(gòu)造函數(shù)
};

class Derived : public Base {
public:
    Derived() : Base() { } // 調(diào)用基類(lèi)的默認(rèn)構(gòu)造函數(shù)
};

在這個(gè)例子中,Derived 類(lèi)繼承了 Base 類(lèi),并且調(diào)用了基類(lèi)的默認(rèn)構(gòu)造函數(shù)來(lái)初始化基類(lèi)部分。

0