C++ 父类和子类的构造函数
时间: 2024-06-11 07:01:13 浏览: 193
在C++中,父类和子类之间的构造函数有一些特殊的关系。当创建子类对象时,会先调用父类的构造函数,然后再调用子类的构造函数。这是因为子类继承了父类的属性和方法,所以在创建子类对象时,需要先初始化父类的成员。
在子类的构造函数中,可以使用初始化列表来调用父类的构造函数。初始化列表位于子类构造函数的参数列表之后,使用冒号进行分隔。通过初始化列表,可以指定调用父类的哪个构造函数,并传递相应的参数。
下面是一个示例代码,展示了父类和子类的构造函数的调用关系:
```cpp
#include <iostream>
using namespace std;
class Parent {
public:
Parent(int x) {
cout << "Parent constructor called with x = " << x << endl;
}
};
class Child : public Parent {
public:
Child(int x, int y) : Parent(x) {
cout << "Child constructor called with y = " << y << endl;
}
};
int main() {
Child obj(10, 20);
return 0;
}
```
输出结果为:
```
Parent constructor called with x = 10
Child constructor called with y = 20
```
在上面的示例中,Child类继承了Parent类,并在Child的构造函数中通过初始化列表调用了Parent的构造函数。首先调用了Parent的构造函数,然后再调用Child的构造函数。
阅读全文