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