在C++中,派生类可以通过其构造函数的初始化列表来调用基类的构造函数。这是在构造派生类对象时初 始化基类部分的标准做法。
当创建派生类的对象时,基类的构造函数总是在派生类的构造函数之前被调用。如果没有明确指定,将 调用基类的默认构造函数。如果基类没有默认构造函数,或者你需要调用一个特定的基类构造函数,就 需要在派生类构造函数的初始化列表中明确指定。
#include <iostream>
using namespace std;
// 基类
class Base {
public:
int baseValue;
// 基类构造函数
Base(int val) : baseValue(val) {
cout << "Base constructor called with value: " << baseValue << endl;
}
};
// 派生类
class Derived : public Base {
public:
int derivedValue;
// 派生类构造函数
// 使用初始化列表显式调用基类构造函数
Derived(int baseVal, int derivedVal) : Base(baseVal), derivedValue(derivedVal) {
cout << "Derived constructor called with value: " << derivedValue << endl;
}
};
int main() {
Derived d(10, 20); // 创建派生类对象
return 0;
}