在C++中,類的繼承成員初始化列表是一種在派生類構造函數中初始化基類成員的特殊語法。使用成員初始化列表可以確保基類成員在派生類對象創建時正確初始化,同時還可以提高性能,因為它可以直接調用基類的構造函數,而不需要先創建一個臨時對象。
成員初始化列表的語法如下:
class DerivedClass : AccessSpecifier BaseClass {
// DerivedClass 成員
};
DerivedClass::DerivedClass() : BaseClass(arguments) {
// DerivedClass 成員初始化
}
其中,DerivedClass
是派生類,BaseClass
是基類,arguments
是傳遞給基類構造函數的參數。
以下是一個簡單的示例:
#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
類,并在其構造函數的成員初始化列表中調用了基類的構造函數。這樣可以確保 Base
類的成員 value
在 Derived
類對象創建時正確初始化。