我目前有這樣的結構,其中Collider
是一個抽象類。關於抽象類設計
我想創建另一個抽象類LevelObj
它應該有一個Collider
。任何繼承的類LevelObj
,例如Wall
,則必須進一步定義它需要哪一個碰撞器。然後,我想創建具有LevelObj
的容器的對象Level
。通過這種方式,我可以從Level
訪問Collider
和LevelObj
的所有功能。
然而,這種方法是不可能的,因爲LevelObj
不能容納一個抽象類。即使可能,我也無法在他的任何子女中爲「LevelObj
」的遺傳類別「更改」對象Collider
。
有什麼辦法可以達到同樣的效果嗎?
有一個'的std ::的unique_ptr'成員。 –
看看*裝飾模式*,它可能有助於您的設計。 http://en.wikipedia.org/wiki/Decorator_pattern – DrD