【发布时间】:2020-07-16 07:53:58
【问题描述】:
我有一个带有子类播放器的 C++ 类游戏,它有子类建筑和公民。
class Game
{
class player
{
class citizen{};
class building{};
};
};
每个类都在自己的 .cpp 中
我想将我创建的玩家存储在游戏类的数组中,但我最终需要将我的子类包含在我的基类中,该基类需要包含我要定义的父类。
我还有很多东西要从 C++ 中学习,但我觉得克服这个问题的唯一方法是将播放器类中的数组作为静态数组。有没有更好的方法来实现我想要的?
【问题讨论】:
-
您真的需要嵌套类吗?例如,您可以定义一个独立
player类,然后在您的Game类中拥有该类的成员(对象),依此类推。 -
... 甚至有一个
player对象的向量(或数组),如果您在游戏中需要多个玩家(这似乎很可能)。 -
你不需要嵌套类。但是,如果
Game包含Player的实例,则编译器在编译Game时需要查看Player的定义(例如,来自头文件)。 -
我认为 player 不应该是一个嵌套类。它应该在自己的头文件中,并包含在您的 Game 类中(或者如果可能的话,前向声明)。
-
我认为一个重要的缺失信息是为什么你要嵌套这些类?一旦我们了解了这一点,也许我们可以帮助您弄清楚如何完成您正在做的事情。现在,这似乎是XY Problem