在C++中,派生类构造函数的一般语法形式如下:
派生类名::派生类名(参数列表) : 基类构造函数(参数), 成员对象构造函数(参数)
{
// 派生类构造函数体
}
这里的关键组成部分解释如下:
派生类名
:这是派生类的名称。参数列表
:这是传递给派生类构造函数的参数列表。基类构造函数
:这是基类构造函数的调用,它出现在构造函数初始化列表中,用于初始化基类的成员。如果有多个基类,则它们的构造函数调用用逗号分隔。成员对象构造函数
:如果派生类中有成员对象,它们的构造函数也会在初始化列表中调用,用于初始化这些成员对象。{}
内的内容是派生类构造函数的函数体,可以包含用于初始化派生类成员变量的代码和其他逻辑。
例如,考虑一个基类Base
和一个派生类Derived
:
class Base {
public:
Base(int x) : baseData(x) {}
protected:
int baseData;
};
class Derived : public Base {
public:
Derived(int x, int y) : Base(x), derivedData(y) {}
private:
int derivedData;
};
在这个例子中,Derived
类的构造函数接受两个参数 x
和 y
。在构造函数初始化列表中,首先调用基类 Base
的构造函数,将 x
传递给它,然后初始化派生类自己的成员 derivedData
为 y
。