使用cin获取类的枚举类型

时间:2013-11-18 17:44:28

标签: c++ function class enumerator

我想提示用户告诉我这本书属于哪种类型。我想我可能会给用户一个菜单,无论选择哪个都输入数字。我想知道你是否可以将用户输入名称改为类型的字符串?

class Book
{
public:

    enum Genre
        {
        fiction,
        nonfiction,
        periodical,
        biograhpy,
        children
        };

    //...

    void get_genre();

    //...


private:

    //...
    Genre      genre;

};

//========================================================================================
//========================================================================================
void Book::get_genre()
{   



return;

}

1 个答案:

答案 0 :(得分:2)

您必须自己将枚举值的名称映射到它们的值。您可以使用std::map<string, Genre>std::unordered_map<string, Genre>(如果c++11可用)。无法将值的名称转换为C++中的值。