我正在开发一个有怪物和龙的游戏。龙可以做怪物能做的所有事情,除了它们也会喷火。
我已经创建了一个类型为“monster”的类和一个继承自名为“dragon”的怪物的类。
然后我有一个名为“monsters”的类,它作为私有成员向量,将包含龙和怪物元素。
在主游戏循环中,如果当前元素是龙,我需要循环遍历矢量并喷火,如果它只是怪物,则什么也不做。
我尝试过使用 typeid() 但无论当前元素是普通怪物还是龙,它总是返回 monster*。
有没有办法做到这一点,或者在这种情况下甚至使用继承没有意义?龙类不继承,而是独立于怪物独立存在是否更有意义?
任何建议表示赞赏。