请详细介绍下C加加的枚举类
时间: 2023-10-08 21:07:37 浏览: 43
在C++中,枚举类型是一种用户自定义的类型,它是由一组命名的常量值组成的,这些常量值在程序中可以被使用。在C++11之前,枚举类型被定义为整数类型,但是在C++11中,我们可以使用枚举类(enum class)来定义枚举类型。
枚举类与传统的枚举类型相比,具有更好的类型安全性和可读性。枚举类中的枚举值是常量,不能被修改,也不能被隐式转换为整数类型,必须显式地进行类型转换才能使用。
以下是一个C++枚举类的示例:
```c++
enum class Color {RED, GREEN, BLUE};
int main()
{
Color c = Color::GREEN;
if (c == Color::RED)
std::cout << "The color is red" << std::endl;
else if (c == Color::GREEN)
std::cout << "The color is green" << std::endl;
else if (c == Color::BLUE)
std::cout << "The color is blue" << std::endl;
return 0;
}
```
在上面的示例中,我们定义了一个枚举类Color,其中包含三个枚举值:RED、GREEN和BLUE。我们可以使用枚举类中的枚举值来初始化变量c。在if语句中,我们使用枚举值来判断变量c的值,并输出相应的消息。
需要注意的是,枚举值的作用域被限制在枚举类内部,所以我们必须使用作用域解析运算符(::)来访问枚举值。此外,枚举值也可以使用关键字“enum”定义,但是这种方式已经被C++11废弃,不建议使用。