浅析 枚举类型
来源:互联网 发布:sql developer 64下载 编辑:程序博客网 时间:2024/06/07 00:51
并且这些变量的值只局限于一个很小的范围内。我们可以按照下面的方式定义一个枚举:
enum weight { light, medium, heavy, very_heavy };
weight w;
w = heavy;
cout << w;
注意,枚举类型的对象的初始化或赋值,只能通过其枚举成员或同一枚举类型的其他对象来进行。
下面的例子显示了在C++中使用枚举类型的一些不同方法:在全局范围内、在类定义内部、在函数内部等。在X类的定义中,我们首先定义了两个枚举类型:第A行声明了一个A类的weight枚举类型,第B行则声明了一个A类的无名枚举,它只包含两个符号常量d1和d2,表示两个特定的整型值。接下来在第C行是一个构造函数。第A行和第B行声明的枚举的作用域到类定义结束为止。然后,我们在这个类中声明了两个数据:int类型的x和weight类型的wx。在这个类的定义结束之后,第D行和第E行是另外两个全局性质的枚举。
#inlcude <iostream>
using namespace std;
class A
{
public:
enum weight { light, medium, heavy, very_heavy };
enum {d1 = 3, d2 = 5 };
A(int i, int j) { x = i + d1; wx = (weight)(j +medium); }
void print() const {cout<<x<<" "<<wx<<endl; }
private:
int x;
weight wx;
};
enum { c1 = 17, c2 = 19 };
enum height { tall, very_tall };
int main()
{
A obj1(100, 200);
obj1.print();
// A obj2(100, A::light);
int y = c1;
cout << y << endl;
height h;
h = tall;
cout << h << endl;
return 0;
}
在main函数中,我们在第F行用两个参数100和200调用了X的构造函数。这个被创建的对象的有趣之处在于它的数据成员wx的值是201,如第H行的输出所示。但是,这个值并不在第A行所声明的weight类型所允许的符号常量值的范围之内。一般而言,枚举类型可以得到一个在枚举声明中并没有列出或枚举器提示范围之外的值。
- Java枚举类型浅析
- 浅析 枚举类型
- 浅析枚举类型
- java关键字之enum枚举类型浅析
- Emun 枚举类型使用浅析——包括enumSet enumMap
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 利用图的宽度优先搜索(层次遍历)实现查找从迷宫左上
- java 通过classloader加载类再通过classforname实例化
- dns lvs webserver
- 做一名全面发展的高校教师——“计算机系统”课学习总结
- 性能优化之数据库优化
- 浅析 枚举类型
- SSH相关断网不能访问的解决方案
- Android性能优化之布局优化
- qq空间动态设置在哪?
- ActiveMQ使用STOMP协议的一个错误问题:Unexpected ACK received for message-id
- 计算机专业教学中的若干问题的思考——“计算机问题求解课”总结
- android屏幕触摸事件机制(转)
- android 实现欢迎界面
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决