#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学习C++ (六)枚举
猜你喜欢
转载自android-zhang.iteye.com/blog/1995405
今日推荐
周排行