Получить тип enum для класса, используя cin

Я хотел бы предложить пользователю сообщить мне, в каком жанре находится книга. Я подумал, что, возможно, смогу дать пользователю меню, в котором они вводят цифры для любого выбора. Я хотел бы знать, если бы вы могли просто ввести имя пользователя в виде строки для жанра?

class Book
{
public:

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

//...

void get_genre();

//...private:

//...
Genre      genre;

};

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

}

0

Решение

Вам придется сопоставить имена значений перечисления с их значениями самостоятельно. Вы можете использовать std::map<string, Genre> или же std::unordered_map<string, Genre> (если c++11 доступен). Нет способа преобразовать имя значения в его значение в C++,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]