【发布时间】:2013-11-19 21:56:09
【问题描述】:
我有以下情况:
class RenderObject {
public:
virtual void sendToGPU() = 0;
virtual void removeFromGPU() = 0;
};
class Object3D : public RenderObject {
public:
virtual char getType() = 0;
};
class IGroup : public RenderObject {
public:
void sendToGPU(); // implementation of RenderObject's virtual method
void removeFromGPU(); // implementation of RenderObject's virtual method
};
class Group : public Object3D, public IGroup {
public:
char getType(); // implementation of Object3D's virtual method
};
Group 类继承了两次 RenderObject。我知道这是多重继承中的一个常见问题,但我真的不知道如何解决它,因为这是我第一次面对它。即使知道这是一个常见问题,我也找不到考虑到其中一个父级 (IGroup) 中先前实现的解决方案。
将不胜感激提供解释此语言机制如何工作的解决方案。
【问题讨论】:
-
搜索
virtual inheritance
标签: c++ class inheritance interface virtual