关于枚举-摘自百度知道

枚举其实相当于一个只能取规定几个值的整形数,你可以尝试 cout<<Mon;cout<<Tue;等等 从Mon到Sun依次输出的是0,1,2,3,4,5,6,也就是说Mon到Sun是7个整形数 或者你可以尝试
int number; week w=Mon; number=w; //也就是说week类型实际上就是整形 cout<<number; number=Tue; //也就是说Mon,Tue等都是整型常量 cout<<number;
你会发现一切正常,也就是w其实就是一个整形数,你定义枚举类型其实只是定义了一种取值收约束的整形数。而枚举类型里面的如Mon, Tue, Wed, Thu, Fri, Sat, Sun只是一堆代替数字提高代码可读性的符号,和#define Mon 0 #define Tue 1 的宏定义效果很类似,其实它们都是一堆常量
另外提一点,定义枚举类型的时候,可以指定其取值对应的整数,比如 enum week{Mon=1, Tue=2, Wed=3, Thu=4, Fri=5, Sat=6, Sun=7}; 甚至给不同的标识符赋同一个值也是可以的 enum week{Mon=0, Tue=0, Wed=0, Thu=0, Fri=0, Sat=0, Sun=0};
posted @ 2014-01-15 10:22  changdd  阅读(152)  评论(0)    收藏  举报