私はモンスターとドラゴンがいるゲームに取り組んでいます。ドラゴンは、火を吐くことができることを除いて、モンスターができるすべてのことを行うことができます.
「モンスター」というタイプのクラスと、「ドラゴン」というモンスターを継承するクラスを作成しました。
次に、ドラゴンとモンスターの要素を含むプライベートメンバーベクトルを持つ「モンスター」と呼ばれるクラスがあります。
メインのゲーム ループでは、現在の要素がドラゴンの場合はベクトルを循環して火を吹き、ただのモンスターの場合は何もしません。
typeid() を使用してみましたが、現在の要素が単純なモンスターであろうとドラゴンであろうと、常に Monster* を返します。
これを行う方法はありますか、それともこの場合継承を使用しても意味がありませんか? ドラゴンクラスが継承せず、代わりにモンスターから独立した方が理にかなっているでしょうか?
アドバイスをいただければ幸いです。