枚举

来源:互联网 发布:亚马逊大数据选品 编辑:程序博客网 时间:2024/06/06 00:54

        C++中有一种数据类型称为枚举(Enumeration类型,它允许用户自己来定义一种数据类型,并且列出该数据类型的取值范围

 

        定义枚举类型的语法格式为:

        enum 类型名{常量0,常量1,……,常量n-1}

        定义枚举类型的位置应该在程序首次使用该类型名之前,否则程序无法识别该类型。枚举类型中列出的常量称为枚举常量。它并不是字符串也不是数值,而只是一些符号

 

        例如定义一周七天的日期类型,可以这样写:

        enum day{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};

        这时候,程序中就有了一种新的数据类型——day,它的取值范围就是从Sunday到Saturday的七天。把类型设计好,就能来创建一个day类型的变量了:

        day today=Sunday;

        这样,day类型的变量today的值就是Sunday了。

 

        实质上day型变量today中保存的是整数(枚举量的序号;0,1,2,…,n-1)。也就是说,一个整数和一个枚举常量一一对应了起来,要注意是一一对应,而不是相等。但是如果直接把整数赋值给today变量,则会发生错误。虽然枚举类型的实质是整数,但是计算机还是会仔细检查数据类型,禁止不同数据类型的数据互相赋值。另外,在一般情况下,枚举类型是不能进行算术运算的。

        枚举变量的输入输出很不方便。这是由于枚举类型变量的值在程序中是以枚举量表示的,而在执行程序时是以整数(枚举量的序号)表示的 ,致使枚举类型的变量的值不能直接输入输出(可以借助switch…case语句输出枚举常量)。

0 0
原创粉丝点击