В чем разница между классами Enum и Enum и как преобразовать значение Enum в целое число в классах Enum и Enum?
Преобразование значения Enum в целое число в классе Enum и Enum
comment
Отвечает ли это на ваш вопрос? Получение целочисленного значения из перечисления
- person Rolandas Ulevicius   schedule 11.01.2021
comment
@RolandasUlevicius Нет, этот вопрос касается перечислений C#.
- person Yksisarvinen   schedule 11.01.2021
comment
Нет, мой вопрос о разнице между значением перечисления и значением класса перечисления в С++.
- person Mohammad reza Kashi   schedule 11.01.2021
Ответы (1)
C++ имеет два вида перечислений:
перечисления классов
Простые перечисления
Вот несколько примеров их объявления:
enum class Color { red, green, blue }; // enum class
enum Animal { dog, cat, bird, human }; // plain enum
Какая разница между двумя?
классы enum - имена перечислителей являются локальными для перечисления, и их значения не преобразуются неявно в другие типы (например, другое перечисление или int)
Обычные перечисления — где имена перечислителей находятся в той же области, что и перечисление, а их значения неявно преобразуются в целые числа и другие типы.
в перечислении:
enum type{x=10,y,z=50,j};
int value = x;
в перечисляемом классе:
enum class type{x=10,y,z=50,j};
int value= static_cast<int>(x);
person
Mohammad reza Kashi
schedule
11.01.2021
Второй пример должен быть
int value= static_cast<int>(type::x);
- person super; 11.01.2021