C++枚举类

一、枚举类定义

语法形式:

enum class 枚举类型名:底层类型{枚举值列表};

enum class Type:char {General,Light,Medium,Heavy};

二、枚举类的优势

1、强作用域,其作用域限制在枚举类中

    e.g.使用Type的枚举值General:Type::General

2、转换限制,枚举类对象不可以与整形隐式地互相转换

3、可以指定底层类型

三、

#include "stdafx.h"
#include 
#include 

using namespace std;
enum class Side{Right,Left};
enum class Thing{Wrong,Right};//No conflict

int _tmain(int argc, _TCHAR* argv[])
{
	Side s=Side::Right;
	Thing w=Thing::Right;
	cout<<(s==w);//Error: can not compare the enumerition type from different class
	system("Pause");
	return 0;
}

1、不同枚举类的同名量不会发生冲突

2、无法直接比较不同枚举类

你可能感兴趣的:(C++,从零开始学习C++)