gpt4 book ai didi

C++ 创建两个独立抽象类的派生类数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:18:08 25 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我还是不得不问。我有 2 个独立的抽象类:CharacterEnemyBarbarianNecromancer源自CharacterSkeletonDevil源自< strong>Enemy. 我的问题是我能否创建一个包含CharacterEnemy 的派生数组。我可以创建另一个类让 Entity 像这样:

class Entity : public Character, public Enemy {};

然后我将创建一个指向Enemy 的指针数组。

那我能以某种方式做到这一点吗:

Entity* p = new Barbarian;

此外,如果可能的话,我想我需要一个虚拟析构函数。我该如何定义它?

编辑:我犯了一个愚蠢的错误,继承应该是另一种方式,问题是可以这样做吗?

最佳答案

正好相反。您应该创建一个 Entity 抽象类。 Character和Enemy应该继承实体类。

class Character : public Entity

class Enemy : public Entity

您提到的其他一切都很好。您需要创建实体类的数组,对于每个实体,您可以说 ent = new Barbarian() 或类似的东西。

关于C++ 创建两个独立抽象类的派生类数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50380563/

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