博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
enum 使用
阅读量:6956 次
发布时间:2019-06-27

本文共 1010 字,大约阅读时间需要 3 分钟。

1.说明

enum是一个基本的关键字,却一直没弄清楚怎么用,这次在实现二叉树框架时需要用到常量,特地搜了一下,终于知道怎么用了.

2.enum使用要点

  • enum声明是一个类型,不是变量.
  • enum经常用来表示常量
  • 不同的enum类型不能互相赋值,除非进行强制类型转换,如果转换后的值不在目的enum类型的枚举范围内,相当于目的enum类型的值退化到整数类型。
    int main() {
    enum w1{a1=0,a2,a3}; enum w2{b1=2,b2,b3}; w1 a=a1; w2 b=b1; a=(w1)b; }
    上面这个代码执行完成之后a=a3;
    int main() {
    enum w1{a1=0,a2,a3}; enum w2{b1=4,b2,b3}; w1 a=a1; w2 b=b1; a=(w1)b; }
    上面这段代码执行完成之后a=4;
  • 不能直接将整数赋给enum类型的变量,除非进行强制类型转换
  • 枚举变量的的输出一般用switch来完成,使用过程中也经常用switch,比如我在写二叉树的遍历时就可以这么写:
    //在头文件中定义有 enum TRAVERSAL_ORDER{PREORDER,INORDER,POSTORDER} void showBTree(BTNode *root,TRAVERSAL_ORDER order=INORDER) {
    if(root==NULL)cout<<"The tree is empty!!"; switch(order) {
    case INORDER: cout<<"中序遍历:";inorderTraversal(root);break; case PREORDER: cout<<"先序遍历:";preorderTraversal(root);break; case POSTORDER: cout<<"后序遍历:";postorderTraversal(root);break; default:break; }; cout<

转载于:https://www.cnblogs.com/obama/p/3330056.html

你可能感兴趣的文章
Activity的启动模式(android:launchMode)
查看>>
java设计模式演示样例
查看>>
创建与删除索引
查看>>
HTML5新增核心工具——canvas
查看>>
改动file header (測)
查看>>
微软职位内部推荐-Senior Speech TTS
查看>>
UVA - 10574 Counting Rectangles
查看>>
HDU3336-Count the string(KMP)
查看>>
常用API接口签名验证参考
查看>>
Linux中find常见用法示例
查看>>
bootstrap 模态框动态加载数据
查看>>
初始化构造函数中定义的实体集合,方便嵌套类型的遍历
查看>>
深入理解css3中nth-child和 nth-of-type的区别
查看>>
MySQL慢查询Explain Plan分析
查看>>
MyBatis原理分析之三:初始化(配置文件读取和解析)
查看>>
180321
查看>>
Spark2.1.0之源码分析——事件总线
查看>>
Htmlparser专题
查看>>
大数据开发实战:数据平台大图和离线数据平台整体架构
查看>>
Spring MVC 3 深入总结
查看>>