C++ 继承和构造函数调用顺序示例
C++ 继承和构造函数调用顺序示例
代码:
#include <iostream>
using namespace std;
class A {
public:
A() { cout << 'A'; }
};
class B {
public:
B() { cout << 'B'; }
};
class C : public A {
B b;
public:
C() { cout << 'C'; }
};
int main() {
C obj;
return 0;
}
输出:
ABC
解释:
- 我们定义了三个类 A、B 和 C。
- 类 A 具有一个默认构造函数,当创建类 A 的对象时,它会打印 'A'。
- 同样,类 B 具有一个默认构造函数,当创建类 B 的对象时,它会打印 'B'。
- 类 C 公开继承自类 A,这意味着类 A 的所有公共成员将成为类 C 的公共成员。类 C 还包含一个类 B 的对象作为其成员。
- 当在 main 函数中创建类 C 的对象时,会发生以下情况:
- 首先调用类 A 的构造函数,它打印 'A'。
- 然后调用类 B 的构造函数,它打印 'B'。
- 最后,调用类 C 的构造函数,它打印 'C'。
- 因此,输出为 'ABC'。
原文地址: https://www.cveoy.top/t/topic/omeJ 著作权归作者所有。请勿转载和采集!