目前我有两个类,Drawable 和 Transformable,并且像 Actors 这样的东西继承了这两个类,问题是当将对象绘制到屏幕上时,我遍历了一个 Drawables 向量,它没有包含在 Transformable 中的 getPosition() 函数。向 Drawable 添加一个虚拟 getPosition() 可以解决这个问题,但会在其他地方产生对该函数的模棱两可调用的问题。那么我可以让 Drawable 继承 Transformable 并让 Actor 继承 Drawable 并获得与继承这两个类一样的结果吗?
编辑:Drawables 不是所有的演员,有些是精灵(游戏对象),原始形状等。实际上,我在绘制循环中需要 getPosition() 的唯一原因是因为为了伪造深度,我循环遍历向量到从 0 Y 坐标到屏幕底部,屏幕上较高的对象首先被绘制,然后位于靠近“前面”的对象后面。我没有编写 Drawable/Transformable 类,我宁愿不必完全更改它们以满足一个实例中的一个函数调用。唯一出现问题的是当我引用 Drawables 的向量时。对我来说,为什么这样设计它并不完全有意义,因为使用可绘制类的所有东西也继承了可转换类,所以它们应该只是一个,但它们不是。
我的问题是这是否:
class foo {}
class bar{}
class foobar : public foo, public bar {}
和这个一样
class foo {}
class bar : public foo {}
class foobar : public bar {}
一个对象可以继承其父类继承的公共和受保护成员吗?