我想提示用户告诉我这本书属于哪种类型。我想我可以给用户一个菜单,让他们为选择输入数字。我想知道您是否可以让用户输入名称,例如流派的字符串?
class Book
{
public:
enum Genre
{
fiction,
nonfiction,
periodical,
biograhpy,
children
};
//...
void get_genre();
//...
private:
//...
Genre genre;
};
//========================================================================================
//========================================================================================
void Book::get_genre()
{
return;
}
最佳答案
您将必须自己将枚举值的名称映射到它们的值。您可以使用std::map<string, Genre>
或std::unordered_map<string, Genre>
(如果c++11
可用)。无法将值的名称转换为C++
中的值。
关于c++ - 使用cin获取类的枚举类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20054260/