C语⾔中枚举变量的⽤法枚举类型若定义时不赋初值,那么会默认对第⼀个元素赋0,后⾯的元素依次+1
也可以在定义时给任意的成员赋初值,未赋初值的使⽤默认值,即⽐前⼀元素⼤1。
如:enum test{a=10,b,c=11,d,e}
各个枚举变量的值为:a=10,b=11,c=11,d=12,e=13
因为a赋了初值10,b没有初值,所以b默认⽐a⼤1,即b=11。
⽽c赋了初值11,故c=11。
d和e都没有赋初值,故依次加1,d=12,e=13
同时还要注意枚举是有范围的,但只有两个范围。只要使⽤枚举不超出范围,就不会报错
若枚举变量中没有负值,则范围是[0,2k-1]
若枚举变量中有负值,则范围是[-2k,2k-1]
若定义⼀个枚举变量,则只能是通过⾃⾝枚举成员或者同⼀枚举类型的其他对象赋值。
1enum test { a = 10, b, c, d, e };
2test temp = c;
#枚举类型做函数返回值:
函数声明必须有关键字:
[cpp]
1. enum ENUMtest { a, b, c, d, e };
2. int main(int argc, char** argv)
3. {
c语言char的用法
4. enum ENUMtest fun();//函数声明必须有enum关键字
5. int temp = fun();
6.    cout << temp << endl;
7.    system("PAUSE");
8. }
9. ENUMtest fun()//函数实现不需要enum关键字
10. {
11. return ENUMtest(1);
12. }
同理:当枚举类型作为类的成员函数返回值时:
1. 要在声明处加enum关键字
2. 要在函数实现处加类名::枚举名
⼩技巧:枚举变量的数量
enum  ENUMtest {undefined a ,b ,c ,d ,e,count count };如果枚举变量是从0开始以步长为1递增的,那么
只要在枚举变量最后加⼀个count,该count的值就是枚举变量的数量[cpp]
1.
class  A  2.
{  3.
enum  ENUMtest { a, b, c, d, e };  4.
enum  ENUMtest testFun();//函数声明必须有enum 关键字  5.
};  6.
A::ENUMtest testFun()//函数实现不需要enum 关键字,但必须加类名::枚举名  7.
{  8.
return  ENUMtest(1);  9. }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。