c++中enum 如何使用?转

ENUM概况

enum枚举类型是C/C++中的一种数据类型,与struct和class一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以一一列举出来的。

ENUM定义

C++ enum枚举格式:

enum < 枚举类型名> {< 枚举表>};

enum {< 枚举表>}< 变量名表>;

第一个C++ enum枚举值对应着一个整型数,通常情况下如果其中的枚举常量没有定义数值,那么第一个枚举值对应着常量值0,然后依次递增,如果第一个枚举常量定义了数值,那么其后的值将随之递增,其中每个常量之间用“,”隔开,而不是“;”,最后一个数值不用符号。

enum bool {false,true}; bool类型就是C++预定义的枚举

ENUM举例

  1. #include <iostream.h>
  2. void main()
  3. ...{
  4. //例1
  5. enum day...{Sun,Mon,Tue,Wed,Thu,Fri,Sat};//定义一个day的枚举
  6. day d = Sun;

    //d只能等于"Sun,Mon,Tue,Wed,Thu,Fri,Sat"中的一个,没有其它值!

  7. cout<< "value is "<<d<<endl;
  8. //也可以定义多个变量
  9. enum day...{Sun,Mon,Tue,Wed,Thu,Fri,Sat};
  10. day d1,d2,d3;
  11. d1 = Thu; d2 = Sat; d3 = Tue;
  12. cout<< "d1 && d2 && d3 "<<d1<< " "<<d2<< " "<<d3<<endl;
  13. //例2
  14. enum ...{Sun,Mon,Tue,Wed,Thu,Fri,Sat} d;
  15. d = Mon;
  16. cout<< "value is "<<d<<endl;
  17. //例3
  18. enum ...{Sun=10,Mon,Tue,Wed,Thu,Fri,Sat} d1,d2,d3,d4;
  19. d1 = Sun; d2 = Mon; d3 = Tue; d4 = Wed;
  20. cout<<d1<< " "<<d2<< " "<<d3<< " "<<d4<<endl;

    //输出 10 11 12 13

  21. //例4
  22. enum ...{Sun=10,Mon=1,Tue,Wed,Thu,Fri,Sat} d1,d2,d3,d4;
  23. d1 = Sun; d2 = Mon; d3 = Tue; d4 = Wed;
  24. cout<<d1<< " "<<d2<< " "<<d3<< " "<<d4<<endl;

    //输出 10 1 2 3

  25. }