1
我有三个类从whirlyB
和gameCreature
继承。我使用gameCreatures
集合中的全部三个子类。有没有办法使用whirlyB
的继承功能。我只能选择使用gameCreature
函数。我应该怎么做才能获得whirlyB
的功能?多继承和异构集合
我有三个类从whirlyB
和gameCreature
继承。我使用gameCreatures
集合中的全部三个子类。有没有办法使用whirlyB
的继承功能。我只能选择使用gameCreature
函数。我应该怎么做才能获得whirlyB
的功能?多继承和异构集合
这是一个愚蠢的想法,对于你坚持使用基本指针之一但可以自由修改类的情况。假设我们有:
struct InBetween : Rock, HardPlace { /* ... */ }
,并假设你只有使用Rock
-pointers。编辑Rock
如下:
struct Rock
{
virtual HardPlace * get_other() const = 0;
// ...
};
现在给每个派生类如下:
struct InBetween : Rock, HardPlace
{
virtual HardPlace * get_other() const { return this; }
// ...
};
现在,给Rock * r
,你可以说。
我不会称这个好设计,或者甚至是值得推荐的,但我认为这是对你的问题的字面解答。
请将相关的语言标签添加到您的问题。 – 2012-02-29 21:16:13
把他们铸成wh!! – stmax 2012-02-29 21:29:22
@oli,对不起C++ – Aaron 2012-02-29 21:31:35