枚举类型是一种可以由用户自定义数据集的数据类型。
注意:bool类型可以看成是C++语言提供的一个预定义的枚举类型。
1. 枚举类型定义
enum <枚举类型名> {<枚举值表>};
2. 初始化
枚举类型的每一个枚举值都对应一个整型数,默认情况下,第一个枚举值的值是0,然后依次增1,但也可以显示初始化任意一个枚举值对应的整形数,没定义的枚举值默认情况下在其前一个枚举值的对应整型数上加1.
留个问题:如果多个枚举值对应同一个整形数会怎样?
enum Day {Sun=7, MON=1, TUE, WED, THU, FRI, SAT}
3. 枚举变量的定义
<枚举类型> <变量表>;
或<枚举类型>{<枚举值表>} <变量表>;
4. 枚举变量的使用
1)赋值
Day d1,d2;
d1 = SUN; //true
d2 = 3; //error, 但int n = SUN;也是可以的
d2 = (Day)3;//true 但这样不安全,必须要保证该整型数属于枚举类型的值集,否则没有意义
2)比较运算
MON < TUE的结果为true,运算时将其转换为整型
3)算术运算
d2 = d1 + 1;//error,因为它d1 + 1的结果是整型
d2 = (Day)(d1 + 1);//true
4)其他
输入输出:可以输入int数,使用switch,然后复制或者输出
类下标访问:day(0)对应的是第一个枚举值sun