1. 程式人生 > >C++中自定義型別列舉型別

C++中自定義型別列舉型別

不限定作用域列舉型別說明:

列舉元素是常量,不能對它們賦值

例如有如下定義
enum Weekday {SUN, MON, TUE, WED, THU, FRI, SAT};

不能寫賦值表示式:SUN = 0

列舉元素具有預設值,它們依次為: 0,1,2,......

也可以在宣告時另行指定列舉元素的值,如:

enum Weekday{SUN=7,MON=1,TUE,WED, THU,FRI,SAT};

也可以在宣告時另行指定列舉元素的值;

列舉值可以進行關係運算。

整數值不能直接賦給列舉變數,如需要將整數賦值給列舉變數,應進行強
制型別轉換。

列舉值可以賦給整型變數。

上面簡單的說明了列舉型別的一些應用,我們通過一個簡單的程式來看一下列舉型別在星期的應用

#include<iostream>
using namespace std;
enum GameResult{win,lose,tie,cancel};

int main()
{
	GameResult result;
	for(int i = win;i<=cancel;i++)
	{
		result = (GameResult)i;
		  if (result == tie)

          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;
}