//
// Created by wangzhigang on 2019/4/18.
//
#ifndef BUPT_ENUM_H
#define BUPT_ENUM_H
//作用域枚举
enum class Month {
jan = 1, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
};
//平坦枚举
enum month {
jan = 1, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
};
/*
作用域枚举安全,但是比较麻烦,不包含隐式转换.
Month m = Month::jan;
cout << (int) m << endl;
int n=m 错误
平坦枚举的访问方式包含有隐式转换,可以直接将枚举量赋值给 int 型变量.
cout << month(2) << endl;
int n=month(2) 正确
平坦枚举支持作用域枚举的访问方式,反之不然.
*/
#endif //BUPT_ENUM_H