枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。
定义格式:枚举类型的定义格式为:
enum 枚举类型(可省略)
{
枚举常量,
};
默认首个枚举常量的值为0;
所有枚举常量均为整数;
默认下一个枚举常量的值是在上一个枚举常量的基础上+1;
可以不为枚举常量指定值,此时所有枚举常量的值不重复,下一个枚举常量的值是在上一个枚举常量的基础上+1;
可以为枚举常量指定值,此时枚举常量可以有重复,除已有指定值以外的剩余枚举常量,下一个枚举常量的值是在上一个枚举常量的基础上+1;
枚举常量之间以逗号分隔;
enum 枚举类型(可省略)
{
枚举常量1,
枚举常量2,
枚举常量3
}
枚举变量1,
枚举变量2,
枚举变量3;
enum WEEK
{
week_useless,
monday,
tuesday,
wednesday,
thursday,
friday,
saturday,
sunday
}
week1,week2;
week1,week2,可以理解为WEEK的实例化,也就是创建了对象等于
WEEK week1;
WEEK week2;
上述代码中week_useless实际就是整数0,相当于起了一个别的名字,monday就是1, tuesday为2,以此类推。
enum WEEK
{
week_useless,
monday,
tuesday,
wednesday=100,
thursday,
friday,
saturday,
sunday
}
week1,week2;
如果wednesday=100, 怎后面的 thursday=101
friday=102,
saturday=103,
sunday=104。
前面的不变 week_useless=0,
monday=1,
tuesday=2,
结束
枚举允许的关系运算:==、<、>、<=、>=、!=等。
枚举变量可以直接输出,但不能直接输入。如:cout >>week1; //非法
不能直接将常量赋给枚举变量。如: week1=1; //非法
不同类型的枚举变量之间不能相互赋值。
枚举变量的输入输出一般都采用switch语句将其转换为字符或字符串;枚举类型数据的其他处理也往往应用switch语句,以保证程序的合法性和可读性。
参考链接:https://blog.csdn.net/MWooooo/article/details/126598196