多重继承派生类的构造函数代码举例
时间: 2023-07-10 21:26:32 浏览: 85
好的,以下是一个多重继承派生类的构造函数代码示例:
```cpp
#include <iostream>
using namespace std;
class A {
public:
A(int x) {
cout << "A::A(int x)" << endl;
}
};
class B {
public:
B(double y) {
cout << "B::B(double y)" << endl;
}
};
class C : public A, public B {
public:
C(int x, double y) : A(x), B(y) {
cout << "C::C(int x, double y)" << endl;
}
};
int main() {
C c(1, 2.0);
return 0;
}
```
在上面的代码中,我们定义了三个类:A、B、C。其中,A 和 B 是 C 的两个基类,C 公有继承自 A 和 B。C 的构造函数中,我们使用了初始化列表来初始化 A 和 B 的构造函数,从而保证了 C 对象的正确构建。
在主函数中,我们创建了一个 C 类型的对象 c,并传入了两个参数:1 和 2.0。程序输出如下:
```
A::A(int x)
B::B(double y)
C::C(int x, double y)
```
我们可以看到,程序先调用了 A 的构造函数,然后调用了 B 的构造函数,最后才调用了 C 的构造函数。这是因为 C 继承自 A 和 B,而 A 和 B 的构造函数必须先被调用才能保证 C 的构造函数正确执行。
阅读全文