从0学习C++ (六)枚举


#include <iostream>;
#include <cmath>;
#include <string>;
#include <cstring>;

/*
枚举学习
*/
enum spectrum{red,orange,yellow,green,blue,violet,indigo,ultraviolet};
enum bits{one = 1, two = 2,four = 4,eight = 8};
enum bigstep{first,second = 100,third};

//只是用常量,而不创建枚举类型的变量
enum {zero,null = 0,love,numero_uno = 1};



int main(){

using namespace std;
spectrum band;

band = yellow;
cout << band << endl; //打印:2

band = red;
cout << band << endl; //打印 0

//++band; // not valid
//band = red + yellow; // not valid


int color = blue; //valid
cout << color << endl; //打印 4

//band = 3; // invalid;

color = red + 3; //valid
cout << color << endl; //打印 3


band = (spectrum)2; // valid
cout << band << endl; // 打印 2


band = (spectrum)2000; //不适当的值进行类型强转。
cout << band << endl;

//设置枚举变量的值
bits mbits;
mbits = one;
cout << mbits << endl; //打印 1


bigstep mbigstep;
mbigstep = third;
cout << mbigstep << endl; // 打印 101

int number = zero;
cout << number << endl; //打印 0
number = love;
cout << number << endl; //打印 1
cout << numero_uno << endl; //打印 1


/*
枚举的取值范围,
下面的代码中, 6不是枚举值,但它位于枚举的取值范围内。
*/
bits myflag;
myflag = (bits)6;


/*
枚举的取值范围,

找上限:先找到枚举量的最大值,然后找大于这个最大值得、最小的2的幂,然后减1便是上限。
例如 bigstep 中 最大枚举值是101 ,在2的幂中,比这个数大的最小值是 128 所以上限是127

找下限:如果枚举量的最小值不小于0, 那下限就是0 否则采用找上限的方法,但加上负号。
例如: 如果最小的枚举量是-6 比它小的、最大的2的幂是-8(加上负号),因此下限为 -7

*/



}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值