枚举类型
Posted szy211
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了枚举类型相关的知识,希望对你有一定的参考价值。
用户自定义类型:枚举类型
描述方式特殊:将该类型所有取值都一一枚举出来。
1.定义一个枚举类型,要求列举出该类型数据的全部可取值。
enum 枚举类型名 变量值列表;
例:用枚举类型表示一个星期中的7天。
enum WeekdaySUN,MON,TUE,WED,THU,FRI
2.对枚举元素按常量处理,不能对它们赋值。
例:
SUN=0;
该语句非法。
3.枚举元素具有默认值,从零开始递增,依次为0,1,2......也可以在声明另时行指定枚举元素的值。
例:
enum WeekdaySUN=7,MON=1,TUE,WED,THU,FRI
注意:此处若未给MON赋值,则MON自动被赋值为8。
4.枚举变量的值可以直接赋值给整形。
例:
enum GameResultWIN,LOSE,TIE,CANCEL;
int count=WIN;
此处将枚举类型数据WIN隐含转换为整形,作为整形变量count的初值。
5.整数值不能直接赋给枚举变量,如需要将整数值赋给枚举变量,应进行强制类型转换。
该整数处于枚举常量定义的范围之内,强制转换才能成功。
例:
GameResult result;
result=GameResult(count);
此处为显式转换。
6.枚举值可以进行关系运算。如>、<、>=、<=、==、!=
但枚举类型不可以直接进行数学运算,因为枚举类型在运算时会被隐式转换为int等类型,
如++、--运算符,无法保证在运算后该枚举类型仍然合法。
7.实际应用
# include < iostream>
using namespace std;
enum GameResult (WIN, LOSE, TIE, CANCEL); .
int main()
GameResult result;
enum GameResult omit= CANCEL;
for (int count= WIN; count <= CANCEL; count++ )
result= GameResult (count) ;
if (result== omit)
cout<<"The game was cancelled“<<endl;
else
cout<<"The game was played ";
if (result== WIN)
cout<< "and we won!";
if (result== LOSE)
cout<< "and we lost.";
cout<<endl ;
return 0;
以上是关于枚举类型的主要内容,如果未能解决你的问题,请参考以下文章