Перечисления в C++
Перечисления в C++ (enum) — это один из способов определения типов. Их отличительная особенность заключается в том, что перечисления содержат набор числовых констант. Рассмотрим простейшее перечисление:
Чтобы определить перечисление, используют ключевое слово enum, после которого пишут название перечисления. Далее в фигурных скобках числовые константы перечисляют через запятую. При этом каждой константе по умолчанию присваивается числовое значение, которое начинается с 0. Таким образом, в нашем примере spring=0, a winter, соответственно, трем.
Использование перечисления:
Итак, у нас есть возможность определить переменную типа seasons с последующим присвоением этой переменной значения одной из констант, которые объявлены в перечислении. По факту это будет являться числовым значением. Посмотрим на консольный вывод этой программы:
В то же самое время перечисление — это отдельный тип, что означает, что мы не сможем присвоить нашей переменной числовое значение напрямую:
Но что делать, если дефолтные значения для констант нас не устраивают? Есть возможность задать значения явным образом, к примеру, установив начальное значение:
В таком случае значения 2-й и последующих констант станет повышаться на единицу.
Есть возможность задать значение и для каждой константы:
Когда вообще нужны перечисления? Например, когда мы имеем ряд логически связанных констант, которые лучше определять в одном общем типе данных. Посмотрите на код ниже:
В нашем примере все арифметические операции сохраняются в перечислении operations. А уже с учетом выбранной операции в switch-конструкции выполняются определенные действия.
По материалам https://metanit.com/cpp/.