我有一個Component
類,它是父類,例如Sprite
類。 Sprite
也有各種兒童動畫,但這不是這個問題的重點。我也有一個組件經理,持有map<string, Component>
。我存儲了我在該地圖中創建的每個組件。目前有12種類型的組件,但會增加。所有從同一個類繼承的對象映射,調用對象方法而不是父對象; C++
我的Component
類有virtual void draw()
和update()
功能,在這種情況下Sprite
也是一樣。但是,當我循環查看組件圖時,它只調用Component
draw()
和update()
。
我還沒有真正能夠找到一個實際上爲我工作的答案呢。
你在地圖或對象中存儲指針嗎?你真的應該存儲指針,否則你會遇到'對象切片'問題,這與你描述的症狀完全相同。 – jahhaj 2012-07-31 20:42:54