我正在开发游戏/模拟,并处理管理游戏中的所有生物。有一个基类 Creature ,不同种类的生物可以从中继承。
在这段代码的早期版本中,我只是单独使用基类作为任何给定生物的泛型,如果你愿意的话,我有一个私有静态向量来保存游戏中存在的所有生物的电话簿。这由生物的构造函数处理,将新生物的地址添加到堆栈中。很简单。
当我引入继承时,我遇到了一个心理障碍。如果我继续将 Creature 类调整为基类(将向量移动到我想像的受保护状态?),然后从那里定义猴子、熊和老虎的一些任意子类......当我创建一个实例时一个从 Creature 继承的类,它是否会被添加到 Creature 父类的指针向量中?也许更直接的是,创建这些子类之一的实例是否也会调用父类的构造函数?
我的思路是否正确,或者我必须做些什么才能实现这种行为?如果需要,我可以提供更具体的细节。
谢谢。
--
我以这种方式做事的想法是,例如图形。这样我就可以循环遍历所有存在的生物,并通过每个生物的多态调用函数返回它们的精灵、XY 位置等。