我有一个Component
类,它是父类,例如Sprite
类。 Sprite
也有各种儿童动画,但这不是这个问题的重点。我也有一个组件经理,持有map<string, Component>
。我存储了我在该地图中创建的每个组件。目前有12种类型的组件,但会增加。所有从同一个类继承的对象映射,调用对象方法而不是父对象; C++
我的Component
类有virtual void draw()
和update()
功能,在这种情况下Sprite
也是一样。但是,当我循环查看组件图时,它只调用Component
draw()
和update()
。
我还没有真正能够找到一个实际上为我工作的答案呢。
你在地图或对象中存储指针吗?你真的应该存储指针,否则你会遇到'对象切片'问题,这与你描述的症状完全相同。 – jahhaj 2012-07-31 20:42:54