我想提示用户告诉我这本书属于哪种类型。我想我可以给用户一个菜单,让他们为选择输入数字。我想知道您是否可以让用户输入名称,例如流派的字符串?

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/

10-12 19:55