我有以下情况:
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)中先前实现的解决方案。
一个解释这种语言机制如何工作的解决方案将不胜感激。