C++枚举(enum)
原创
©著作权归作者所有:来自51CTO博客作者文天大人的原创作品,请联系作者获取转载授权,否则将追究法律责任
int main()
{
// NAME是自定义的,写aa,bb,cc都可以
// 因为定义一个int类型的枚举(注意,其实默认就是int)
// c++中会自动对枚举里的成员按照递增的规则自增
enum class NAME:int
{
yangshu,//0
mayinshuang,//1
gaolijie,//2
yaoyang//3,注意最后一个没有逗号
};
NAME m1=NAME::yangshu;
NAME m4 = NAME::yaoyang;
// 因为是int类型,所以此处要手动强转
int s =(int) m4 - (int)m1;
std::cout << s << std::endl;//打印出3
}
如果不需要递增,想自己定义,那么如下
enum class NAME:int
{
yangshu=10,
mayinshuang,
gaolijie,
yaoyang=100
};
int s =(int)NAME::yaoyang - (int)NAME::yangshu;
std::cout << s << std::endl;
注意,枚举类型只能是整数类型,下面的定义是错误的
enum class NAME:float
{
yangshu
};