C++ primer plus系列6——枚举

    技术2025-10-13  16

    枚举创建符号常量的一种方式

    //光谱 enum spectrum {red, orange,yellow,green,blue,violet,indigo,ultraviolet};

    其中:specrum称为枚举,是一种新的数据类型,就像struct变量被称为结构, red,orange,yellow…ultraviolet分别代表整数0~7,并且这些常量称为枚举量

    1-使用枚举名来声明这种类型的变量:

    spectrum band;//声明枚举量 band=blue;//正确 band=2000;//错误

    但是没有为枚举定义算数运算符,如“=”,“+”等

    band = band + 1;//错误 band = red + orange;//错误

    2-枚举量是整型,可以被提升为Int类型

    int colour = red; cout << colour << endl; colour = red + 3; // band = 3;//错误 cout << colour << endl; /*输出结果 0 3 */

    3-强制类型转换

    pectrum band; band = spectrum(3);//正确

    4-设置枚举量的值

    enum bits{one=1,two=2,four=4}; enum bigstep{first,second=100,third};//first默认为0,third=101 enum{zero,null=0,one,numero_uno=1};//zero=0,one=1;

    5-枚举量的取值范围 这里我还有疑问!!!

    enum bits{one=1,three=3,five=5,eight=8}; bits num; num=bits(6);//合理,因为6在取值范围内
    Processed: 0.009, SQL: 9