混合虚拟和直接基类

时间:2017-08-08 15:50:10

标签: c++ base-class virtual-inheritance

考虑以下情况:

struct A {};
struct B : virtual A {};
struct D : B, A {};

使用这种方法,我可以构造D类型的对象,或通过显式转换指向B::A对象的指针,但我无法以任何形式访问D的直接基类,因为它与B::A不明确。如果A有自己的构造函数,我甚至无法构造D的实例,因为我无法从A两次调用D构造函数。

有没有办法让我不知道如何使用,初始化和访问该直接基地的成员?

否则,为什么甚至允许继承组合?

0 个答案:

没有答案