小编Che*_*ems的帖子

避免调用基础构造函数2次

假设我有几个继承的类.

#include <iostream>

struct A {
    A() {std::cout << "a";}
};

struct B : A {};
struct C : A {};

struct D : B, C {};

int main {
    D d;
}
Run Code Online (Sandbox Code Playgroud)

在执行程序时,正如预期的那样,我看到构造了两个A对象,一个用于B,另一个用于创建D对象时构造的C对象.谁,我怎么能不创建两个A对象?我希望使用相同的A对象来创建B和C对象.这可能吗?

c++ inheritance

1
推荐指数
1
解决办法
87
查看次数

标签 统计

c++ ×1

inheritance ×1