枚举类型enum

枚举类型

  1. 限定作用域enum class mode{intput,output,append};
  • 枚举成员在枚举类型作用域外不可访问
  1. 不限定作用域enum mode{intput,output,append};
  • 枚举成员与枚举类型本身作用域相同

枚举成员是const

初始化枚举必须使用枚举成员或者该类型的另一个对象,不能使用int等

mode om = 2;//错误,2不是mode的枚举成员
om = mode::input ;//正确

enum是由某种整数类型表示的,默认是int。可以在名字后面使用冒号确定enum使用的类型

enum mode : unsigned long long{a=10000,b=30000,c=30000};
//b和c的值可以相同

前置声明

enum mode:unsigned long long;//不限定作用域的,必须制定成员类型
enum class mode ;//限定作用域的,直接默认int

形参匹配

enum mode{input,output,append};
void fun(mode);
void fun(int);

int main()
{
    mode m = input;
    fun(128);//匹配fun(int)
    fun(input);//匹配fun(mode)
    fun(m);//匹配fun(mode)
}
//不能直接将整形传递给enum形参
//但是可以将不限定作用域的枚举类型或成员传给int形参
void method(unsigned char);
void method(int);
unsigned char uc = input;
method(input);//调用method(int)
method(uc);//调用method(usigned char)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步、步、为营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值