Использование enum в C++
Enum (перечисления) в C++ являются удобным инструментом для определения
набора именованных констант. В этой статье мы рассмотрим, как использовать
enum в C++, включая объявление, присваивание значений и примеры применения.
Определение и использование enum
Синтаксис для определения enum в C++ выглядит следующим образом:
enum <имя_перечисления> {
<значение_1>,
<значение_2>,
...
};
Имя перечисления и значения должны быть допустимыми идентификаторами в C++.
Значения перечисления могут быть целочисленными или символьными литералами.
Вот пример определения enum для дней недели:
enum DaysOfWeek {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
Теперь мы можем использовать эти значения в коде следующим образом:
DaysOfWeek today = Monday;
if (today == Saturday || today == Sunday) {
std::cout << "It's the weekend!n";
} else {
std::cout << "It's a weekday.n";
}
Присваивание значений enum
По умолчанию, значения enum начинаются с 0 и увеличиваются на 1 для каждого
следующего элемента. Однако, вы можете явно присваивать значения элементам
перечисления. Вот пример:
enum Colors {
Red = 5,
Blue = 10,
Green = 15
};
В этом примере Red имеет значение 5, Blue — 10, а Green — 15. Если значение
не указано, оно автоматически увеличится на 1 от предыдущего значения.
Пример использования enum
Давайте рассмотрим пример, в котором используется enum для представления
различных типов фигур:
#include <iostream>
enum ShapeType {
Circle,
Square,
Triangle,
Rectangle
};
Рисуем круг.
Рисуем треугольник.
Рисуем прямоугольник.
Неизвестная фигура
void DrawShape(ShapeType shape) {
switch (shape) {
case Circle:
std::cout << "Рисуем круг.n";
break;
case Square:
std::cout << "Рисуем квадрат.n";
break;
case Triangle:
std::cout << "Рисуем треугольник.n";
break;
case Rectangle:
std::cout << "Рисуем прямоугольник.n";
break;
default:
std::cout << "Неизвестная фигура.n";
break;
}
}
int main() {
DrawShape(Circle);
DrawShape(Triangle);
DrawShape(Rectangle);
DrawShape(static_cast<ShapeType>(100)); // Неизвестная фигура
return 0;
}
В этом примере мы определяем enum ShapeType, который содержит значения для
четырех различных типов фигур: круга, квадрата, треугольника и прямоугольника.
Затем мы создаем функцию DrawShape, которая принимает параметр типа ShapeType
и выводит сообщение о том, какую фигуру мы рисуем.
Рисуем круг.
Рисуем треугольник.
Рисуем прямоугольник.
Неизвестная фигура.
Этот пример демонстрирует, как enum может использоваться для представления
различных типов фигур и упрощения логики кода при работе с ними.
Использование enum позволяет нам легко определить и использовать именованные
константы, делая код более читаемым и понятным.