私はC++を使って簡単なテキストベースのポケモンバトルシミュレーターを作っています。今まで私はポケモンクラスとポケモンムーブクラスを持っていて、各クラスには型のメンバ変数があります。ポケモンタイプの列挙定数
今は、文字列を「火」「水」「草」などの文字列として保存していますが、これが情報を保存する最良の方法かどうかは不明です。ダメージボーナス/ペナルティのタイプを比較しなければならず、単純な定数ではなく文字列全体を解析する必要があります。
enumsはより良い選択でしょうか?もしそうなら、私はちょうどこれのような一方/両方のクラスのヘッダーファイルの始めにそれらを通常の方法で宣言しますか?
列挙PKMN_type = {火、水、GRASS、...}
は本当にサイズ/メモリの観点でプログラム効率に測定可能な効果を持っている代わりに、文字列の列挙型を使用しますか?
ありがとうございました。
'enum'を使うと、テキストを' enum'に変換し、 'enum'をテキストに変換する関数を提供することができます。 C++言語は、 'enum'をテキストに変換する機能を提供していません。 –
これらの機能は、私の移動/ポケモンクラスのヘルパー機能であるべきですか?または、私は別の答えで示唆されているように別のenumクラスを作成する必要がありますか? – SMS
変換関数とともに 'enum'を別々のファイルに配置しています。はい、彼らは助けます。カプセル化を促進するクラスでは、時々、私は 'enum'を宣言します。 –