枚举就是把可能的取值一一列举。
例如:
将一周中的星期一到星期日7天,一一列举
性别中的男、女、保密,也可以列举
月份有12个月,也能列举
这些可以列举的就能放入一个枚举类型当中了
当然要是想要为一个数字命名或是想让一个变量成为一个数字时,也都可以使用枚举
枚举类型的定义
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
};
枚举的优点
1.便于调试
2.防止了命名污染(封装)
3.增加代码的可读性和可维护性
4.使用方便,一次可以定义多个常量
5.和#define定义的标识符相比枚举有类型检查,出现问题时编译器可以发现,更加安全
枚举的使用
enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
};
enum Color clr = GREEN;//只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。
注意一般不能用int等其他类型初始化自定义的枚举类型,只能用她自己的枚举变量来初始化和赋值
如下面这个错误的方式:
enum Color clr = 0; //用(int)0初始化(Color) clr