gpt4 book ai didi

c++ - 如何遍历不同类型类的数组

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:00 24 4
gpt4 key购买 nike

<分区>

我的 C++ 程序中有以下类:

  • 游戏实体
  • 继承自game_entity的game_creature

我计划拥有更多继承自 game_entity、game_creature 或什至其他一些较低类的类。

我还有一个 game_entity 类型的数组,其中包含 game_entity 实例和 game_creature 实例。现在我的问题是:当它被传递给一个函数时,我尝试遍历数组,但是当它到达一个 game_creature 对象时,它没有使用下标形式足够地增加指针。

例如:

如果第一个对象是 game_creature(它的字段比 game_entity 多),它将访问前 3 个字段(game_creature 和 game_entity 上的相同)就好了,但是当我执行 array[ 1],它将访问第一个 game_creature 中的后两个 int 的值作为第二个 game_creature 对象中的前两个 int 的值。

这意味着如果我有一个 x = 1、y = 2、sprite* = Something、movespeed = 5 和 health = 25 的 game_creature,那么它将访问第二个 game_creature 对象的 x 和 y 作为 5 和25,这实际上是第一个 game_creature 的移动速度和生命值。

我认为这是因为指针指向“game_entity”的 x 和 y 的内存实际上是“game_creature”的移动速度和生命值所在的位置。但是,我不知道如何制作 game_entities 数组,因此它可以容纳我游戏网格上的任何类型的对象,但仍然让它访问适当的字段并每次都将指针递增足够。

感谢任何帮助。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com