参考文献:[1]C++程序设计语言(特别版),裘宗燕译,机械工业出版社[2]C++Primer(3rdEd.),,人民邮电出版社1、枚举enum的用途浅例 写程序时,,学生的成绩分A,B,C,D等,天气分sunny,cloudy,rainy等等。 更常见的,打开一个文件可能有三种状态:input,,对应定义3个常数,即: constintinput=1; constintoutput=2; constintappend=3;然后,调用以下函数: boolopen_file(stringfile_name,intopen_mode);比如, open_file("Phenix_and_the_Crane",append); 这种做法比较简单,但存在许多缺点,主要的一点就是无法限制传递给open_file函数的第2个参数的取值范围,只要传递int类型的值都是合法的。(当然,这样的情况下的应对措施就是在open_file函数内部判断第二个参数的取值,只有在1,2,3范围内才处理。) 使用枚举能在一定程度上减轻这种尴尬(注1),它不但能实现类似于之前定义三个常量的功能,还能够将这三个值组合起来成为独一无二的组。例如: enumopen_modes{input=1,output,append}; 以上定义了open_modes为枚举类型enumerationtype。每一个命名了的枚举都是唯一的类型,是一个类型标示器typespecifier。例如,我们可以重新写一个open_file函数: boolopen_file(stringfile_name,open_modesom); 在open_modes枚举中,input,output,append称为枚举子enumerator,它们限定了open_modes定义的对象的取值范围。这个时候,调用open_file函数和之前的方法还是一模一样: open_file("Phenix_and_the_Crane",append); 但是,如果传递给open_file的第二个参数不是open_modes枚举类型值的话(注1),那么编译器就会识别出错误;就算该参数取值等价于input,output,append中的某个,也一样会出错哦!例如: open_file("Phenix_and_the_Crane",1);2、枚举的定义 一个枚举是一个类型,可以保存一组由用户刻画的值。定义之类,枚举的使用很像一个整数类型。枚举的定义具有以下形式,即以关键词enum开头,接着一个可选的枚举名,下来是由大括号{}包含着一个由逗号分隔的枚举子列表enumeratorslist: enum[enumerationname]{enumerator1[=value1],enumerator2[=value2],...};3、枚举子的类型和取值 枚举子的类型就是它所在的那个枚举,例如前面说到的open_modes枚举中,input,output和appe
【CC】枚举enum学习小记 来自淘豆网m.daumloan.com转载请标明出处.