我想提示用户告诉我这本书属于哪种类型。我想我可能会给用户一个菜单,无论选择哪个都输入数字。我想知道你是否可以将用户输入名称改为类型的字符串?
class Book
{
public:
enum Genre
{
fiction,
nonfiction,
periodical,
biograhpy,
children
};
//...
void get_genre();
//...
private:
//...
Genre genre;
};
//========================================================================================
//========================================================================================
void Book::get_genre()
{
return;
}
答案 0 :(得分:2)
您必须自己将枚举值的名称映射到它们的值。您可以使用std::map<string, Genre>
或std::unordered_map<string, Genre>
(如果c++11
可用)。无法将值的名称转换为C++
中的值。