В языке C++ существует особый тип данных – перечисления. Он позволяет создать тип, который содержит несколько значений, заданных программистом. Переменные с этим типом не могут принять значения, кроме тех, что указаны в перечислении. Для использования перечисления нет необходимости подключать отдельную библиотеку. Приведем пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
enum Rgst { RED=15, GREEN, BLUE }; void func(Rgst c, int a) { switch(c){ case RED: a = RED; break; case GREEN: a = GREEN; break; case BLUE: a = BLUE; break; } } |
Первая строка и есть перечисление. Сначала идет ключевое слово enum, которое означает, что мы задаем перечисление. Далее Rgst – название, которое присвоили этому типу. В фигурных скобках указан список возможных значений, принимаемый переменными данного типа. Выражение RED = 15 означает, что нумерация элементов в списке начнется с 15, то есть GREEN = 16 и BLUE = 17. По умолчанию, она начинается с 0. В программе определенное значение списка можно вызывать как именем константы, так и его номером. Это значит, что выражения x = BLUE и x = 17 эквивалентны. Со 2 строки идет функция, которая присваивает переменной a значение номера переменной c. В случае, если в операторе выбора switch-case перечислены не все возможные константы типа Rgst, то программа выдаст об этом сообщение.