枚举类@C++
c中的枚举类型是整数类型的一个子集
c++中的枚举类(强类型枚举)
定义
语法
enmu class 枚举类型名:底层类型{枚举值列表};
如
enmu class Type:char {General,Light,Medium,Heavy};
默认的底层类型为int
优势
强作用域 作用域限制在枚举类中
使用Type的枚举值General
Type::General 一定要带上Type,不能只使用General
转换限制 枚举类对象不可以和整型隐式的转换
可以指定底层类型
#include<iostream> using namespace std; enum class Side{Right,Left}; enum class Thing { Right, Wrong }; int main(void) { Side s = Side::Right; Thing w = Thing::Right; cout << (s == w) << endl;//编译错误,显示s 与w无法比较,即枚举类对象不可以和整型隐式的转换 return 0; }