C++之枚举类型enum

来源:互联网 发布:交通仿真软件 编辑:程序博客网 时间:2024/06/16 04:21

某些数据只有有限的几种可能值,虽然可以用int、char等类型来表示它们,但是对数据的合法性检查却是一件很麻烦的事。比如,如果用整数0~6代表一星期的7天,那么变量8便是不合法的数据。枚举就是专门用来解决这种问题的。

将需要的变量值一一列出来,便构成了一个枚举类型。

声明形式:

enum 枚举类型名  {变量值列表};

例如:

enum weekday {sun, mon, tue, wed, thu, fri, sat};
枚举类型应用说明:

1、对枚举类型按常量处理,不能对它们赋值,例如:

sun = 0;//sun是枚举类型,此语句非法
2、枚举类型具有默认值,它们依次是0,1,2,...例如上例中的sun为0,mon为1,sat为6

3、也可以在声明时另行定义枚举元素的值,如:

enum weekday {sun = 7, mon = 1, tue, wed, thu, fri, sat};//定义sun为7,mon为1,以后顺序加1,sat为6

4、枚举成员值可以不唯一

enum points {point2d = 2, point2w, pointed = 3, point3w};
上例中point2d显式初始化为2,point2w默认初始化,为3. point3d 显式初始化为3,point3w默认初始化为4.

4、枚举值可以进行关系运算

5、整数值不能直接赋给枚举变量,如有需要,应进行强制类型转换。枚举类型的变量的初始化或赋值只能通过其枚举成员或者同一枚举类型的其他对象来进行。

0 0
原创粉丝点击