C++枚举类型
转自:https://www.runoob.com/cprogramming/c-enum.html
1.介绍
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };
第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。
定义枚举类型,然后定义枚举变量,
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; enum DAY day;
2.例子
#include <iostream> using namespace std; enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; int main() { DAY day; day = WED; DAY day2=SUN; cout<<day<<"\n"; cout<<day2<<"\n"; return 0; }
输出:
3 7
枚举真是神奇,如果不使用枚举的话,就需要宏定义了,为每个整数定义一个别名:
#define MON 1 #define TUE 2 #define WED 3 #define THU 4 #define FRI 5 #define SAT 6 #define SUN 7
3.C11 enum class
https://blog.csdn.net/sanoseiichirou/article/details/50180533#2-enum-class-和-enum-struct
上面第一节所说的旧版enum存在向整形的隐式转换问题。
所以C++11中出现了enum class。//具体待研究。