C++ 枚举类型的使用

来源:互联网 发布:QQ密正数据 编辑:程序博客网 时间:2024/05/16 00:37

在程序开发的时候,我们有时候会给对象设置几种状态的值,典型的做法是定义几个常数,表示几种状态,但是最好的方法是使用枚举来完成

下面来个例子:

#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;  //全局变量输出结果是0cout<<ci1<<endl;  //局部变量输出结果是4055028}
枚举类型大小sizeof
一个枚举类型的sizeof就是某个能够容纳其范围的整型的sizeof, 而且不会大于sizeof(int), 除非某个枚举子的值不能用int或者unsigned int来表示。
所以一般的sizeof枚举都是4