C/C++中列举范例(enum)[VC/C++编程]
本文“C/C++中列举范例(enum)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
假如一个变量你需求几种大概存在的值,那么便可以被定义成为列举范例.之所以叫列举就是说将变量大概叫对象大概存在的情形也可以说是大概的值一一例举出来.
举个例子来阐明一吧,为了让大家更懂得一点,比方一个铅笔盒中有一支笔,但在没有翻开之前你并不知道它是什么笔,大概是铅笔也大概是钢笔,这里有两种大概,那么你便可以定义一个列举范例来表示它!
enumbox{pencil,pen};//这里你就定义了一个列举范例的变量叫box,这个列举变量内含有两个元素也称列举元素在这里是pencil和pen,辨别表示铅笔和钢笔.
这里要说一下,假如你想定义两个具有一样特点列举范例的变量那么你可以用以下的两种方法举行定义!
enumbox{pencil,pen};
enumboxbox2;//大概简写成boxbox2;
再有一种就是在声明的时刻同时定义.
enum{pencil,pen}box,box2;//在声明的同时举行定义!
列举变量中的列举元素系统是按照常量来处理的,故叫列举常量,他们是不能举行普通的算术赋值的,(pencil=1;)这样的写发是错误的,但是你可以在声明的时刻举行赋值操作!
enumbox{pencil=1,pen=2};
但是这里要分外注意的一点是,假如你不举行元素赋值操作那么元素将会被系统自动从0开始自动递增的举行赋值操作,说到自动赋值,假如你只定义了第一个那么系统将对下一个元素举行前一个元素的值加1操作,比方
enumbox{pencil=3,pen};//这里pen就是4系统将自动举行pen=4的定义赋值操作!
前面说了那么多,下面给出一个完好的例子大家可以通过以下的代码的学习举行更完好的学习!
#include<iostream>
usingnamespacestd;
voidmain(void)
{
enumegg{a,b,c};
enumeggtest;//在这里你可以简写成eggtest;
test=c;//对列举变量test举行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了让大家懂得列举变量是不能直接赋予算数值的,比方(test=1;)这样的操作都是不被编译器所承受的,精确的方法是先举行强迫范例转换比方(test=(enumegg)0;)!
if(test==c)
{
cout<<"列举变量判断:test列举对应的列举元素是c"<<endl;
}
if(test==2)
{
cout<<"列举变量判断:test列举元素的值是2"<<endl;
}
cout<<a<<"|"<<b<<"|"<<test<<endl;
test=(enumegg)0;//强迫范例转换
cout<<"列举变量test值改变成:"<<test<<endl;
cin.get();
}
看到这里要最后说一个问题,就是列举变量中的列举元素(大概叫列举常量)在特别情形下是会被自动晋升为算术范例的!
#include<iostream>
usingnamespacestd;
voidmain(void)
{
enumtest{a,b};
intc=1+b;//自动晋升为算术范例
cout<<c<<endl;
cin.get();
}
以上是“C/C++中列举范例(enum)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |