枚举

1.枚举类型的作用

我们在写程序的时候,常常需要定义一组与对象相关的属性。例如某个函数形参类型定义为枚举类型,如果传递实参的时候不是枚举类型定义的枚举子,则编译出错,即使传递的值和枚举子的值一样,也会报错,除非强制转换成枚举类型。

2.枚举类型的定义

enum [enumeration name]

{

enumerator1[=value1],

enumerator2[=value2],

...

};

枚举的定义以关键词enum开头,接着一个可选的枚举名,下来是由大括号{}包含着一个由逗号分隔的枚举子列表enumerators list。

3.枚举子的类型和取值

枚举子的类型就是它所在的那个枚举,默认第一个枚举子被赋值0,后面的枚举子取值是前面枚举子的值加1。

4.枚举变量的定义、初始化和赋值

例:

enum some_big_cities {

 Guangzhou = 4, 

Shenzhen    = 4, 

Hongkong   = 4, 

Shanghai    = 2, 

Beijing         = 3, 

};

定义变量:some_big_cities my_city = Guangzhou;

可以将枚举子、同类型的枚举变量直接赋值给枚举变量,但不能直接将一个整形赋值给一个枚举变量,除非强制转换。

5.枚举与整形的关系

整形值只能显示地转换成一个枚举值,但是,如果转换的结果位于该枚举值范围之外,其结果是无定义的。

6.自定义运算符

枚举是用户自定义类型,所以用户可以为它定义自身的操作,例如++或者<<等。但是,在没有定义之前,不能因为枚举像整型就可以默认使用,例如:
   enum SomeCities
{
   zhanjiang,
   Maoming,
   Yangjiang,
   Jiangmen,
   Zhongshan
};
SomeCities oneCity;
for (oneCity = zhanjiang; oneCity != Zhongshan; ++oneCity)
{
   cout<<oneCity<<endl;
}

以上的++OneCity是没有定义的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值