资源描述:
《枚举类型的定义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、枚举类型的定义在程序设计中,有时会用到由若干个有限数据元素组成的集合,如一周内的星期一到星期日七个数据元素组成的集合,由三种颜色红、黄、绿组成的集合,一个工作班组内十个职工组成的集合等等,程序中某个变量取值仅限于集合中的元素。此时,可将这些数据集合定义为枚举类型。因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为: {Sun,Mon,Tue,Wed,Thu,Fri,Sat} 该集合可定义为描述星期的枚举类型,该枚举类型共有七个元素,因而用枚举类型定义的枚举变量只能取集合中的某一元素值。由于枚举类型是导出数据类型,因此,必须先定义枚举类型,然后再用枚举类型定
2、义枚举型变量。 enum<枚举类型名> {<枚举元素表>}; 其中:关键词enum表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成。例如: enumweekdays {Sun,Mon,Tue,Wed,Thu,Fri,Sat}; 定义了一个名为weekdays的枚举类型,它包含七个元素:Sun、Mon、Tue、Wed、Thu、Fri、Sat。在编译器编译程序时,给枚举类型中的每一个元素指定一个整型常量值(也称为序号值)。若枚举类型定义中没有指定元素的整型常量值,则整型常量值从0开始依次递增,因此,weekdays枚举类型的七个元素S
3、un、Mon、Tue、Wed、Thu、Fri、Sat对应的整型常量值分别为0、1、2、3、4、5、6。 注意:在定义枚举类型时,也可指定元素对应的整型常量值。例如,描述逻辑值集合{TRUE、FALSE}的枚举类型boolean可定义如下: enumboolean {TRUE=1,FALSE=0}; 该定义规定:TRUE的值为1,而FALSE的值为0。 而描述颜色集合{red,blue,green,black,white,yellow}的枚举类型colors可定义如下: enumcolors {red=5,blue=1,green,black,white,yello
4、w}; 该定义规定red为5,blue为1,其后元素值从2开始递增加1。green、black、white、yellow的值依次为2、3、4、5。此时,整数5将用于表示二种颜色red与yellow。通常两个不同元素取相同的整数值是没有意义的。 枚举类型的定义只是定义了一个新的数据类型,只有用枚举类型定义枚举变量才能使用这种数据类型。 8.1.2枚举类型变量的定义 定义枚举类型变量有三种方法,即:先定义类型后定义变量,定义类型的同时定义变量,直接定义变量,现介绍如下: 1.先定义类型后定义变量 格式:<枚举类型名><变量1>〔,<变量2>,…,<变量n>〕; 例如:
5、enumcolors {red=5,blue=1,green,black,white,yellow}; colorsc1,c2; c1、c2为colors类型的枚举变量。 2.定义类型的同时定义变量 格式:enum<枚举类型名> {<枚举元素表>}<变量1>〔,<变量2>,…,<变量n>〕; 例如:enumcolors {red=5,blue=1,green,black,white,yellow}c1,c2; 3.直接定义枚举变量 格式:enum {<枚举元素表>}<变量1>〔,<变量2>,…,<变量n>〕; 例如:enum {red=5,blue=1
6、,green,black,white,yellow}c1=red,c2=blue; 由上例可以看出,定义枚举变量时,可对变量进行初始化赋值,c1的初始值为red,c2的初始值为blue。 8.1.3枚举类型变量的引用对枚举类型变量只能使用2类运算:赋值运算与关系运算。 1.赋值运算 C++中规定,枚举类型的元素可直接赋给枚举变量,且同类型枚举变量之间可以相互赋值。如:enumweekdays//定义星期日到星期六为枚举类型weekdays{Sun,Mon,Tue,Wed,Thu,Fri,Sat}; voidmain(void) {weekdaysday1,day2;/
7、/定义两个枚举型变量day1、day2 day1=Sun;//将元素Sun赋给枚举变量day1 day2=day1;//枚举变量day1赋给day2 cout<