枚举型enum的使用方法

枚举:顾名思义就是将这个事务的所有都一一列举。例如:weekend有sun,mon,tue,wed,tus,fir,sta那么我们需要定义一下:

enum weekend{sun,mon,tue,wed,tus,fir,sta} a,b,c;

或enum weekend{sun,mon,tue,wed,tus,fir,sta};

enum weekend a,b,c;

因此我们可以抽象出表达式:enum 枚举名{ 枚举值也叫枚举元素} 枚举变量;

也可以是:enum 枚举名 {枚举值也叫枚举元素};

enum 枚举名 枚举变量;

其中:

1、枚举值是一个常数是不可改变的,即枚举元素是枚举常量,因此不能在声明时进行赋值,想要初始化则在定义时赋值,即enum pack{pencil=1,pen=2};如果未在定义时初始化那么默认是从0开始依次加1或者只初始化第一个,那么后面的都依次加1。

2、枚举变量也可以进行强制转换:

enum name {a,b,c} test;

test=a;//这里没有在定义时初始化说明从0开始,即test=0

想让test的值发生变化就用强制转换

test=(enum name)1;

下面用一段程序说明上面所要注意的地方:

#include <<SPAN style="COLOR: maroon">iostream>
using namespace std;

void main(void)
{
enum name {a,b,c};
enum name test; //在这里你可以简写成name test;

test = c; //对枚举变量test进行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了让大家明白枚举变量是不能直接赋予算数值的,例如(test=1;)这样的操作都是不被编译器所接受的,正确的方式是先进行强制类型转换例如(test= (enum name) 0;)。

if (test==c)
{
cout <<"枚举变量判断:test枚举对应的枚举元素是c" << endl;
}

if (test==2)
{
cout <<"枚举变量判断:test枚举元素的值是2" << endl;
}

cout << a << "|" << b << "|" << test <<endl;

test = (enum name) 0;//强制类型转换
cout << "枚举变量test值改变为:" << test <<endl;
cin.get();
}


 

3、其中的枚举元素也是可以变化的,例如

#include <<SPAN style="COLOR: maroon">iostream>
using namespace std;

void main(void)
{
enum test {a,b};
int c=1+b; //自动提升为算术类型
cout << c <<endl;
cin.get();
}


 

4、枚举元素是枚举常量,写的时候不必加引号,直接写就行。例如:

printf(“%d”,test);

5、下面是用韵枚举的一个小程序,大家一起参考一下

#include
using namespace std;

int main()
{
enum body
{ a,b,c,d } month[31];
int i;
for(i=1;i<=30;i++)
{
if(i%4==1)
month[i]=a;
if(i%4==2)
month[i]=b;
if(i%4==3)
month[i]=c;
if(i%4==0)
month[i]=d;
}
for(i=1;i<=30;i++)
{
switch(month[i])
{
case a:printf("- %c/t",i,'a'); break;
case b:printf("- %c/t",i,'b'); break;
case c:printf("- %c/t",i,'c'); break;
case d:printf("- %c/t",i,'d'); break;
default:break;
}
}
printf("/n");
system("pause");
return 0;
}


 


 

希望可以给大家提供帮助,与君共勉,谢谢大家!————水木轩

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值