**
- 如果一个变量只有几种可能的值,可以定义为枚举类型。
- 枚举类型就是将变量的值一一列举出来,变量的值仅限于 列举出来的值的范围内。
- 例: ```cpp enum weekday {sun, mon, tue, wed, thu, fri, sat}; enum weekday workday, weekend ; //workday 和 weekend 值只能是sun 到 sat 其中之一。
enum {sun, mon, tue, wed, thu, fri, sat} workday, weekend ;//另一种定义变量的方法
- 其中sun, mon,....,sat称为枚举元素或枚举常量,为用户定义的标识符, 所代表的意义由用户决定,在程序中体现出来。
- 说明:
- 枚举元素为常量,不可赋值运算。 sun=0; mon=1;
- 在定义枚举类型的同时,编译程序按顺序给每个枚举元素一个对 应的序号,序号从0开始,后续元素依次加1。

- 可以在定义时人为指定枚举元素的序号值。

- 只能给枚举变量赋枚举值,若赋序号值必须进行强制类型转换。
```cpp
day=mon ; day=(enum weekday)1;
枚举元素可以用来进行比较判断。
if (workday= = mon) if (workday>sun)
枚举值可以进行加减一个整数n的运算,得到其前后第n个元素的 值。
workday=sun; workday=(week)(workday+2);
枚举值可以按整型输出其序号值。
workday=tue; cout<<workday;