我有一个分配重新比赛。我必须实现一个字符列表。例如,我有只有字符名称的Character
类。C++的继承字符类
现在,我需要创建一个字符Warrior
谁是游戏中的敌人。我是否需要执行如下这样的继承:Character --> Enemy --> Warrior
当我的敌人职业基本上没有属性时。这比任何分类都更具有分类性。
有一种方法以具有Enemy
并以相同的类中定义的Warrior
,其中Warrior
是Enemy
类型,这是Character
类型的?将会有更多的敌人,但只有一个Warrior
。
谢谢
继承不是每个问题的答案。我将拥有一个具有指定字符属性的单个字符类。您正在考虑的类层次结构在C++教科书中比在生产代码中更常见。 – user763305
我们没有足够的信息,我们可能永远不会有。这是一个品味问题。玩家(无论是人类还是人工智能)是否可以扮演“战士”?然后,分类为“敌人”是错误的。真的需要'敌人'吗?可能不会。取而代之的是制作一个'ControllableCharacter'或类似的东西,它可以由人或人物来控制。好的/坏的父类除了提供额外的信息外,通常只会使代码更加复杂。 – Zeta