溫馨提示×

C++類的繼承成員初始化列表

c++
小樊
81
2024-10-31 10:49:55
欄目: 編程語言

在C++中,類的繼承成員初始化列表是一種在派生類構(gòu)造函數(shù)中初始化基類成員的特殊語法。使用成員初始化列表可以確?;惓蓡T在派生類對象創(chuàng)建時(shí)正確初始化,同時(shí)還可以提高性能,因?yàn)樗梢灾苯诱{(diào)用基類的構(gòu)造函數(shù),而不需要先創(chuàng)建一個臨時(shí)對象。

成員初始化列表的語法如下:

class DerivedClass : AccessSpecifier BaseClass {
    // DerivedClass 成員
};

DerivedClass::DerivedClass() : BaseClass(arguments) {
    // DerivedClass 成員初始化
}

其中,DerivedClass 是派生類,BaseClass 是基類,arguments 是傳遞給基類構(gòu)造函數(shù)的參數(shù)。

以下是一個簡單的示例:

#include <iostream>

class Base {
public:
    Base(int x) : value(x) {
        std::cout << "Base constructor called with value: " << value << std::endl;
    }

private:
    int value;
};

class Derived : public Base {
public:
    Derived(int x, int y) : Base(x), derivedValue(y) {
        std::cout << "Derived constructor called with derivedValue: " << derivedValue << std::endl;
    }

private:
    int derivedValue;
};

int main() {
    Derived d(10, 20);
    return 0;
}

在這個示例中,Derived 類繼承自 Base 類,并在其構(gòu)造函數(shù)的成員初始化列表中調(diào)用了基類的構(gòu)造函數(shù)。這樣可以確保 Base 類的成員 valueDerived 類對象創(chuàng)建時(shí)正確初始化。

0