Да, в языках C и C++ можно создавать вложенные (nested) перечисления (enum). Вложенное перечисление описывается внутри области видимости класса или структуры, что позволяет логически сгруппировать его с основным типом данных.
Давайте рассмотрим пример вложенного перечисления в C++:
#include <iostream> class MyClass { public: enum class InnerEnum { Value1, Value2, Value3 }; }; int main() { MyClass::InnerEnum var = MyClass::InnerEnum::Value2; if (var == MyClass::InnerEnum::Value2) { std::cout << "Var is Value2." << std::endl; } return 0; }
В данном примере у класса MyClass
есть вложенное перечисление InnerEnum
с элементами Value1
, Value2
, Value3
. Обратиться к элементам такого перечисления можно через оператор разрешения области видимости ::
.
Таким образом, в C++ можно использовать вложенные перечисления для создания более структурированного кода и уменьшения глобального пространства имен.