小编pie*_*con的帖子

多继承层次结构

很长一段时间以来,我一直在寻找一种干净的方式.在我的问题中,有3个类没有共享任何父级,但每个类都有一些同名的方法(A.doSomething,B.doSomething,C.doSomething).因此,具有相同的函数签名,继承自A和使用方法doSomething()的D类将"看起来与从B或C继承的E"相同.

这是我希望能够做的草图:

class Base {
    public:
    void myMethod(void) { doSomething(); }
};

class Independent {
    public:
        doSomething();
};

clase Derived : public Base : public Independent {
 (...)
};

int main(void) {
   Derived *derivedObject = new Derived();
   derivedObject->myMethod();
}
Run Code Online (Sandbox Code Playgroud)

在这个问题中,"独立"类型的对象由我无法更改的库提供.我想定义一个基类,它使用稍后将继承的方法.我找不到使用虚拟继承执行此操作的正确方法,而不会导致模糊编译.

c++ multiple-inheritance

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

标签 统计

c++ ×1

multiple-inheritance ×1