枚举 enum
事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,
用这种方法定义的类型称枚举类型。
为什么要用?
①限制输入
当我们要为某些属性定义一组可选择的值,单纯的一个个定义,不能将他们关联起来。。而enum就是用来把整数常量聚集起来的
说白了就是限定一种属性可以有的选择, 比如 形状(属性) 限定它只可以是 三角形,圆形,方形。。。(枚举成员) ;
婚姻情况(属性),限定它只可以有 已婚,离婚,未婚(枚举成员)
②方便开发和使用,赋值的时候比用数字看起来清晰多了
怎么用?
定义和初始化:
enum modes
{
modes1,
modes2,
modes3
};
默认第一个枚举成员赋值为0,后面比前面大1
特别的:
①可以指定某个枚举成员的值(必须是常量),后面的依次+1
enum modes
{
modes1=2,
modes2(=3),
modes3(=4)
};
②枚举成员值可以是不唯一的
enum modes
{
modes1=2, mode4 (=3),
modes2=3, mode3 (=4)
};
③枚举相当于另一种数据类型,不能直接用int对其进行赋值(即使它就是int型)
void main()
{
enum mode
{
mode1,
mode2,
mode3
};
mode b=mode2;
mode a=b; a,b是同一种类型mode,可以互相赋值
mode a=mode1; 正常情况下的赋初始值
mode a=(mode)1; ,用int对其赋值~除非强制转换类型
cout<<a<<endl;
}