Значение перечисления в C++
Константа перечисления - это именованный вариант
типа, а не обычная переменная. Ее имя видно только вместе
с именем типа, поэтому пишут Color::red, а не
голое red.
Такой запись задают начальное значение переменной или
передают аргумент, когда функция ждет этот тип. Запишем
enum class Color, сохраним Color::green
и выведем метку для выбранного варианта:
#include <iostream>
enum class Color { red, green, blue };
int main() {
Color c = Color::green;
switch (c) {
case Color::red:
std::cout << "red\n";
break;
case Color::green:
std::cout << "green\n";
break;
case Color::blue:
std::cout << "blue\n";
break;
}
return 0;
}
Тот же синтаксис работает при присваивании: справа
от = снова стоит полное имя константы.
Запишем переменную Color и сменим ее на
Color::blue:
#include <iostream>
enum class Color { red, green, blue };
int main() {
Color c = Color::red;
c = Color::blue;
switch (c) {
case Color::red:
std::cout << "red\n";
break;
case Color::green:
std::cout << "green\n";
break;
case Color::blue:
std::cout << "blue\n";
break;
}
return 0;
}
Объявите enum class PortKind с константами
http, https и ftp.
Сохраните PortKind::https в переменную
kind и выведите для нее строку-схему
через switch.
Объявите enum class Level с константами
low, medium и high.
Создайте переменную Level a = Level::low,
присвойте ей Level::high и выведите метку
уровня через switch.