**

    • 如果一个变量只有几种可能的值,可以定义为枚举类型。
    • 枚举类型就是将变量的值一一列举出来,变量的值仅限于 列举出来的值的范围内。
    • 例: ```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 ;//另一种定义变量的方法

    1. - 其中sun, mon,....,sat称为枚举元素或枚举常量,为用户定义的标识符, 所代表的意义由用户决定,在程序中体现出来。
    2. - 说明:
    3. - 枚举元素为常量,不可赋值运算。 sun=0; mon=1;
    4. - 在定义枚举类型的同时,编译程序按顺序给每个枚举元素一个对 应的序号,序号从0开始,后续元素依次加1
    5. ![批注 2020-08-16 232231.png](https://cdn.nlark.com/yuque/0/2020/png/2314091/1597591359997-cafaa76c-c537-431f-95db-ff52e918c2d9.png#align=left&display=inline&height=57&margin=%5Bobject%20Object%5D&name=%E6%89%B9%E6%B3%A8%202020-08-16%20232231.png&originHeight=87&originWidth=657&size=14488&status=done&style=none&width=434)
    6. - 可以在定义时人为指定枚举元素的序号值。
    7. ![批注 2020-08-16 232231.png](https://cdn.nlark.com/yuque/0/2020/png/2314091/1597591393705-53bf50ba-5936-445e-81f0-373b29da04c9.png#align=left&display=inline&height=42&margin=%5Bobject%20Object%5D&name=%E6%89%B9%E6%B3%A8%202020-08-16%20232231.png&originHeight=68&originWidth=702&size=15424&status=done&style=none&width=434)
    8. - 只能给枚举变量赋枚举值,若赋序号值必须进行强制类型转换。
    9. ```cpp
    10. day=mon ; day=(enum weekday)1;
    • 枚举元素可以用来进行比较判断。

      if (workday= = mon)                if (workday>sun)
      
    • 枚举值可以进行加减一个整数n的运算,得到其前后第n个元素的 值。

      workday=sun; workday=(week)(workday+2);
      
    • 枚举值可以按整型输出其序号值。

      workday=tue; cout<<workday;