枚舉類型和變量如何定義,下篇博客講得十分詳細:
https://blog.csdn.net/bruce_0712/article/details/54984371
有幾個需要注意的點:
(1)在不進行強制類型轉換的前提下,枚舉量只能由枚舉類型賦值。但是,可以把枚舉量賦給其它類型(枚舉量被強制轉換為整型)。
(2)枚舉量沒有賦初值的話,會自動從0開始,按從小到大的順序,以整數的形式初始化。
即
enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
Monday~Sunday 會默認為0~6。將其中某個賦初值的話,下一個枚舉量也會自動向上遞增。
(3)枚舉類型常和switch分支搭配使用。
自己簡單練習了一下。用戶輸入0-5的數字來選擇工作日,輸出當天的安排。
#include<iostream>
using namespace std;
typedef enum workday
{
Sunday = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
};
void chooseday(workday tempday);
int main()
{
int today;
cin >> today;
chooseday(workday(today));
system("pause");
}
void chooseday(workday tempday)
{
switch (tempday)
{
case Sunday:
{
cout << "Work,and go shopping." << endl;
break;
}
case Monday:
{
cout << "Work,and read books." << endl;
break;
}
case Tuesday:
{
cout << "Travel." << endl;
break;
}
case Thursday:
{
cout << "Work,and visit friends." << endl;
break;
}
case Friday:
{
cout << "Have a party." << endl;
break;
}
default:
cout << "Wrong input!" << endl;
break;
}
}
