1

質問は少し不明確かもしれないので、コードを提供します:

class HitPoints {
    int m_current;
    int m_maximum;
    int m_regeneration;
};

つまり、基本的にcurrentは、現在のヒット ポイントmaximum、最大ヒット ポイント、regeneration10 秒ごとに獲得できる HP を意味します。

さて、問題は次のとおりです。私のゲームの各クリーチャーがregenerationHP を再生するために を使用しているわけではありません。

これらのクリーチャーに設定regenerationするだけ0でよいか、それとも新しいクラスを継承する必要があります:

class HitPoints {
    int m_current;
    int m_maximum;
};

class RegeneratingHitPoints : public HitPoints {
    int m_regeneration;
};

この小さな例ではそれほど問題ではないと思いますが、学んだ知識を使用して、新しいクラスを継承する必要があります。

私の質問は、1 つの属性が本当に重要なのかということです。より一般的な質問にするために、新しいクラスを作成することはどのくらい厳密ですか? 新しいクラスを継承する必要がある場合でも、少し「曲げて」古いクラスを使用することはできますか?

4

2 に答える 2

0

基本クラスで使用されていない属性があってはならないので、明らかに新しいクラスを継承する必要があります。

于 2013-06-04T20:47:50.100 に答える