C++的enum工具提供了一种创建符号常量的方式,这种方式可以代替const。
使用enum的语法与使用结构相似:
enum specturm{red, orange, yellow, green, blue, violet, indigo,
ultraviolet};
这条语句让specturm成为新类型的名称,specturm被称为枚举。第二:将red, orange, yellow等作为符号常量,它们对应数值0-7,这些常量叫作枚举量。定义了枚举后,就可以用枚举名来声明这种类型的变量:如
spectrum band;
band = blue; //有效,blue是一个枚举量
band = 2000; //无效,2000不是枚举量
因此,spectrum变量的值受到限制,spectrum变量被赋值时只能被赋予8个枚举量中的一个。
对于枚举,只定义了赋值操作符,枚举类型没有算术运算。
枚举量是整型,可以被提升为int类型,但int类型不能自动转为枚举类型。
在定义枚举时可以设置枚举类型的值,可以使用赋值操作符来显式地设置枚举量的值,如:
enum bits{one=1, two=2, four=4, eight=8};