枚举类型的使用和定义

枚举类型的定义

enum<类型名>{枚举常量表}
typedef enum<类型名>{枚举常量表}类型别名;
enum<类型名>{枚举常量表} 枚举变量名;
//有时甚至可以省略类型名
enum {枚举常量表} 枚举变量名;

枚举类型的使用

enum Weekday{Mon,Tue,Wed,Thu,Fri,Sat,Sun};
Weekday weekday1=Mon;
cou<<weekday<<endl;
//输出为0 编译器会默认从0开始给枚举常量编号

enum color {RED,GREEN=2,WHITE,BLACK} color1;
//RED=0 GREEN=2,WHITE=3,BLACK=4
//编译器会根据用户给枚举常量赋的值 顺序给后面的常量赋值 枚举常量的只可以重复

注意:不同的枚举类型的枚举常量表中的元素不能相同 否则会报错重定义
如果我们有两个枚举常量相同的枚举类型 可以使他们在不同的命名空间里定义
例如:

enum Color_set1 {RED,WHITE,BLACK};
enum Color_set2 {GREEN,BLUE,RED};
//编译时报错 

不能直接给枚举变量赋整数型初始值;
枚举变量能直接输出 不能直接输入
不同类型的枚举变量不能相互赋值

猜你喜欢

转载自blog.csdn.net/qq_27452279/article/details/89352036