枚举
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UFFIVZjS-1691560701752)(C:\Users\30539\AppData\Roaming\Typora\typora-user-images\image-20230809100814638.png)]](https://img-blog.csdnimg.cn/9298902d35194040b5a222f42595056f.png)
1.枚举的定义
枚举顾名思义就是一一列举。将可能的取值一一列举。
比如我们现实生活中:
- 一周的星期一到星期日是有限的7天,可以一一列举。
- 性别有:男、女、也可以一一列举。
- 月份有12个月,也可以一一列举
像在这些场景中就可以使用枚举了。
枚举的声明:(需要用到enum关键字)
enum Day//星期
{
Mon,
Tues,
Wed,
Thur,
Fri,
Sat,
Sun
};
enum Sex//性别
{
MALE,
FEMALE,
SECRET
};
enum Color//颜色
{
RED,
GREEN,
BLUE
};
以上定义的
enum Day,enum Sex,enum Color都是枚举类型。{}中的内容是枚举的可能取值。也叫做枚举常量。
注意:这些可能的取值都是有值的,默认会从0开始,依次递增1。当然可以在声明枚举的时候主动为其赋值,例如:
enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
};
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nhDGc47o-1691560701753)(C:\Users\30539\AppData\Roaming\Typora\typora-user-images\image-20230809134054975.png)]](https://img-blog.csdnimg.cn/bc99bce3603c42fe86e0310e02a708f3.png)
注意:枚举类型里的可能取值都是常量。一旦枚举声明之后其成员的值是不能被修改的。
enum Color//颜色
{
RED = 1,
GREEN = 2,
BLUE = 4
};
int main()
{
RED = 3;
return 0;
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cAw64n82-1691560701754)(C:\Users\30539\AppData\Roaming\Typora\typora-user-images\image-20230809134544651.png)]](https://img-blog.csdnimg.cn/a47daf9f0c7c4bf78289dece248605af.png)
2.枚举的优点
为什么使用枚举?
我们可以使用#define 定义常量,为什么非要使用枚举呢?
枚举的优点:
- 增加代码的可读性和可维护性。
- 和#define定义的标识符比较枚举有类型检查,更加严谨。
- 便于调试。
- 使用方便,一次可以定义多个常量。
3.枚举的使用
enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
};
int main()
{
enum Color c = GREEN;
return 0;
}
注意:在对枚举类型的变量赋值时,最好使用枚举声明里的可能的取值给枚举变量赋值。
3.完结
枚举的全部内容就到这里啦,若有不足,欢迎评论区指正,下期见!














![[C++] 类与对象(中)完整讲述运算符重载示例 -- 日期类(Date) -- const成员](https://img-blog.csdnimg.cn/img_convert/d0bcbdf40c5df492dcddcb68255c5870.png)


