Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpEnENm 96 of 150 menu
◀ ▶

Явный номер константы в C++

Число у константы можно задать явно после знака =. После имени перечисления пишут : int, и каждая константа хранится как целое с выбранным значением.

Само число на экран так не вывести. Запись static_cast<int>(Level::high) превращает константу в обычный int. Запишем enum class Level с числами 1 и 5:

#include <iostream> enum class Level : int { low = 1, high = 5 }; int main() { std::cout << static_cast<int>(Level::high) << "\n"; return 0; }

Не заданное число компилятор увеличивает на единицу от предыдущей константы, но надежнее писать значения явно для каждого важного кода. Запишем статусы HTTP и выведем код для not_found:

#include <iostream> enum class HttpStatus : int { ok = 200, not_found = 404, server_error = 500 }; int main() { std::cout << static_cast<int>(HttpStatus::not_found) << "\n"; return 0; }

Объявите enum class HttpStatus с типом int: ok - 200, not_found - 404, server_error - 500. Выведите код для HttpStatus::not_found как целое число.

Объявите enum class Discount с типом int: none - 0, sale - 10, mega - 30. Создайте Discount d = Discount::sale и выведите ее число через приведение к int.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить