C++类枚举的使用
1 单独类枚举使用方法
#include <iostream>
enum class MyEnum :unsigned char //冒号后是指定枚举数据类型为 unsigned char
{
one = 1,two,three
};
int main()
{
std::cout << MyEnum::one << std::endl;
}
2 类内枚举使用方法
#include <iostream>
class MyClass
{
public:
enum MyEnum {one = 0, two, three};
};
int main()
{
std::cout << MyClass::one << std::endl;
}
3 类枚举变量声明及使用
#include <iostream>
class MyClass
{
public:
enum MyEnum {one = 0, two, three};
};
int main()
{
MyClass::MyEnum EENUM;
EENUM = MyClass::one;
//auto EENUM = MyClass::one;//可以使用自动类型
std::cout << EENUM << std::endl;
}
4 类枚举错误荟萃
4.1 类枚举成员重复
#include <iostream>
class MyClass
{
public:
enum MyEnum {one = 1, two, three};
enum MyEnum_1 {one = 1}; //错误,因为在类内one这个枚举元素是唯一的,已经在上一句中定义了
};
int main()
{
MyClass::MyEnum EENUM;
EENUM = MyClass::one;
std::cout << EENUM << std::endl;
}
4.2 类枚举变量赋值中,枚举名与枚举元素不对应
#include <iostream>
class MyClass
{
public:
enum MyEnum {one = 1, two, three};
enum MyEnum_1 {four= 4};
};
int main()
{
MyClass::MyEnum EENUM;
EENUM = MyClass::four; //错误,因为MyClass::four不是MyClass::MyEnum枚举名的成员,是MyClass::MyEnum_1 的
std::cout << EENUM << std::endl;
}