在程序开发的时候,我们有时候会给对象设置几种状态的值,典型的做法是定义几个常数,表示几种状态,但是最好的方法是使用枚举来完成
下面来个例子:
#include <iostream>
using namespace std;
enum mycla{shuxue,waiyu,zhuanye,zhengzhi};
void myopen(mycla om){
cout<<om<<endl;
}
int main(){
myopen(shuxue);
}
枚举的定义:
enum enum_name{a,b,c,d};
每个枚举都是一个类型,用这个类型就可以声明变量
例子:
enum big_cities{beijing=3,shanghai,guangzhou,shijiazhuang};
big_cities mycity;// 如果mycity是全局变量则为0,如果是局部变量则为1,可以显示的给它赋值,例如:
big_cities mycity=shanghai;// 等号右边的值只能取枚举中的一个,并且不能直接的把一个整型赋值给一个枚举变量,因为枚举和整型是不同类型
#include <iostream>
using namespace std;
enum myci{beijing=3,shanghai,guangzhou};
myci ci2;
int main(){
myci ci1;
cout<<ci2<<endl; //全局变量输出结果是0
cout<<ci1<<endl; //局部变量输出结果是4055028
}
枚举类型大小sizeof
一个枚举类型的sizeof就是某个能够容纳其范围的整型的sizeof, 而且不会大于sizeof(int), 除非某个枚举子的值不能用int或者unsigned int来表示。
所以一般的sizeof枚举都是4