我正在使用C++製作一個簡單的,基於文本的口袋妖怪戰鬥模擬器。到目前爲止,我有一個Pokemon類和一個Pokemon移動類,每個類都有一個類型成員變量。口袋妖怪類型的枚舉常量
現在我將類型存儲爲字符串 - 「火」,「水」,「草」等。但我不確定這是存儲信息的最佳方式,特別是因爲我會必須比較傷害獎金/懲罰的類型,這意味着必須解析整個字符串而不是簡單的常量。
枚舉是更好的選擇嗎?如果是這樣,我只是聲明他們在這樣的一個/兩個類的頭文件的開頭通常的方式?
枚舉PKMN_type = {火,水,草,...}
將使用枚舉的字符串而不是真有大小/存儲器方面對方案的效率可衡量的效果呢?
謝謝。
如果您使用'enum',您可能想要提供從文本轉換爲'enum'和'enum'爲文本的函數。 C++語言不提供將'enum'轉換爲文本的工具。 –
這些函數應該是我的移動/ Pokemon類的輔助函數嗎?還是應該按照其他答案中的建議單獨製作一個枚舉類? – SMS
我一直在將'enum's和轉換函數一起放入單獨的文件中。是的,他們幫助。儘管有時候我會在類中聲明'enum'來促進封裝。 –