语法形式:
enum 枚举类型名 {变量值列表}
C++包含两种枚举类型:
(1)不限定作用域枚举类型:enum 枚举类型名 {变量值列表}
(2)限定作用域的枚举类型:enum class 枚举类型名:底层类型{枚举值列表}
①定义方式:将全部可取值一一列举出来。
例:enum weekday {sun,mon,tue,wed,thu,fri,sat};
②枚举元素(变量值列表)是常数,具有默认值,不能对他们赋值。默认情况下, 可以理解为sun=0,mon=1,tue=2,wed=3,......,sat=6。但是不能在程序中出现对{变量值列表}的赋值表达式。
③只可以在一开始声明时另行指定枚举元素的值。
例:enum weekday {sun=7,mon=1,tue,wed,thu,fri,sat}; 之后值则按前一个值的升序依次增加。
则tue的值等于2,wed的值等于3,依次类推。
④枚举值可以赋给整型变
例:设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCLE),编写程序输出这四种情况。
enum GameResult { WIN, LOSE, TIE, CANCEL };
int main() {
GameResult result; // result 是枚举类型
enum GameResult omit = CANCEL;
for (int count = WIN; count <= CANCEL;count++)
{
result = GameResult(count); //将整型count 赋值给枚举类型 result
if (result == omit)
cout << "The game was cancelled." << endl;
else {
if (result == WIN) cout << "The game was won!";
if (result == LOSE) cout << "The game was lost";
cout<< endl;
}
}
return 0;
}