枚举类型属于字面值常量类型,用于将一组整型常量组织在一起,每个枚举类型定义了一种新的类型。
C++包含两种枚举:限定作用域的和不限定作用域的。定义限定作用域的枚举类型的一般形式是:
enum calss(或 enum struct)枚举类型名 {..., ...};
定义不限定作用域的枚举类型时省略掉关键字class(或 struct)。如果enum是未命名的,则我们只能在定义该enum时定义它的对象。
在限定作用域的枚举类型中,枚举成员的名字遵循常规的作用域准则,而在不限定作用域的枚举类型中,枚举成员的作用域与枚举类型本身的作用域相同:
enum color {
red, yellow, blue};
enum light {
red, yellow, green}