枚举类@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;


}

 

posted on 2018-03-02 15:59  晴未  阅读(528)  评论(0编辑  收藏  举报