C++枚举变量与switch
枚举类型和变量如何定义,下篇博客讲得十分详细:
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; } }