在C++中,类的继承成员初始化列表是一种在派生类构造函数中初始化基类成员的特殊语法。使用成员初始化列表可以确保基类成员在派生类对象创建时正确初始化,同时还可以提高性能,因为它可以直接调用基类的构造函数,而不需要先创建一个临时对象。
成员初始化列表的语法如下:
class DerivedClass : AccessSpecifier BaseClass { // DerivedClass 成员 }; DerivedClass::DerivedClass() : BaseClass(arguments) { // DerivedClass 成员初始化 }
其中,DerivedClass
是派生类,BaseClass
是基类,arguments
是传递给基类构造函数的参数。
以下是一个简单的示例:
#include
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
类对象创建时正确初始化。