枚举

来源:互联网 发布:一淘网好还是淘宝网好 编辑:程序博客网 时间:2024/06/05 19:52

1.枚举(c++)

enum Color{red,blue,yellow,green};      //定义枚举,red、blue等作为符号常量,对应的是数值0~3Color color;   //声明这种类型的变量color=blue;    //只能用枚举量来赋值这种枚举变量,虽然blue的值是1,但是color=1是不对的//没有为枚举定义算术运算,即color++,color=blue+green是错的int _color=blue;_color=2+red;   //枚举量是整形,可以被提升为int型,但是int型不能自动转换为枚举类型。在此color=2color=Color(3); //如果int型有效,则可以通过强制类型转换,转换成枚举类型enum{zero,one,two,three,four};//如果仅需要定义符号常量而不需要定义枚举量,可以省略枚举名enum{one=1,four=4,eight=8};  //可以显示地指定枚举值,也可以让枚举量的值相同enum bits{one=1,two=2,four=4,seven=9};bits myflag;myflag=bits(6);   //可以通过强制类型转换,6不是枚举值,但是在枚举范围之类,也是合理的。枚举范围是大于最大枚举值的2的幂减去1.例如bits的最大值为15,范围为0~15.

2.枚举(c++/CLI)

enum class Suit{clubs,diamonds,hearts,spades};    //定义枚举的关键字为enum classSuit suit=Suit::clubs;int value=safe_cast<int>(suit);          //枚举变量强制转换为int型变量enum class Face : char{Ace,Two,Three,four,five,six,seven,nine,ten};     //允许显示地指定枚举值的类型Face card=Face::ten;card++;      //可以自增运算card=card-Face::Two;  //可以相减,但要求均为枚举常量


0 0
原创粉丝点击