追学网

4.10 枚举类

UPDATE:2015/10/17 | 分类:C++语言视频教程


枚举类
枚举类定义
l 语法形式
enum class 枚举类型名: 底层类型 {枚举值列表};
l 例:
enum class Type { General, Light, Medium, Heavy};
enum class Type: char { General, Light, Medium, Heavy};
enum class Category { General=1, Pistol, MachineGun, Cannon};
枚举类的优势
l 强作用域,其作用域限制在枚举类中。
n    例:使用Type的枚举值General:
Type::General
l 转换限制,枚举类对象不可以与整型隐式地互相转换。
l 可以指定底层类型
n    例:
enum class Type: char { General, Light, Medium, Heavy};
【例4-9 枚举类举例】
#include<iostream>
using namespace std;
enum class Side{ Right, Left };
enum class Thing{ Wrong, Right };  //不冲突
int main()
{
Side s = Side::Right;
Thing w = Thing::Wrong;
cout << (s == w) << endl;  //编译错误,无法直接比较不同枚举类
return 0;
}
学习网

世界看中国 娱乐情感文化观点视频