enum class Enumeration{ Val1, Val2, Val3 = 100, Val4 /* = 101 */,};

此种枚举为类型安全的。枚举类型不能隐式地转换为整数;也无法与整数数值做比较。

#include <iostream>
using namespace  std ;
int main(int argc, char **argv)
{enum class Status {RUN,ERROR,FINISHED,START,STOP};Status proStatus1 {Status::START};Status ProStatus2{Status::ERROR};Status nowStatus;nowStatus=Status::STOP;for (int i=0;i<2;i++){if (nowStatus==Status::STOP){nowStatus=Status::START;}    else if(nowStatus==Status::START){nowStatus=Status::RUN;}        }cout<<(long)nowStatus;return 0;
}

输出 0

#include <iostream>
using namespace  std ;
int main(int argc, char **argv)
{enum class Status {RUN=10,ERROR,FINISHED,START,STOP};Status proStatus1 {Status::START};Status ProStatus2{Status::ERROR};Status nowStatus;nowStatus=Status::STOP;for (int i=0;i<3;i++){if (nowStatus==Status::STOP){nowStatus=Status::START;}    else if(nowStatus==Status::START){nowStatus=Status::RUN;}     else if(nowStatus==Status::RUN){nowStatus=Status::FINISHED;}        }cout<<(long)nowStatus;return 0;
}

输出12

#include <iostream>
using namespace  std ;
int main(int argc, char **argv)
{enum class Status:long {RUN=10,ERROR,FINISHED,START,STOP};Status proStatus1 {Status::START};Status ProStatus2{Status::ERROR};Status nowStatus;nowStatus=Status::STOP;for (int i=0;i<3;i++){if (nowStatus==Status::STOP){nowStatus=Status::START;}    else if(nowStatus==Status::START){nowStatus=Status::RUN;}     else if(nowStatus==Status::RUN){nowStatus=Status::FINISHED;}        }cout<<(long)nowStatus<<endl;cout<<static_cast<long>(nowStatus)<<endl;return 0;
}

输出12

c++17(2)-枚举类enum class相关推荐

  1. java arraylist枚举器遍历_Java基础(七)泛型数组列表ArrayList与枚举类Enum

    一.泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题.ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而 ...

  2. java switch枚举类,使用枚举类enum代替switch

    使用枚举类enum代替switch 使用枚举类,能大大减少switch的代码量,提高代码阅读性 public enum TestEnum { stu1("小明", "一班 ...

  3. java枚举类Enum入门理解

    目录 枚举的定义 JDK5.0之前只能自定义枚举类 自定义枚举类的理解: JDK5.0之后enum关键字定义枚举类 区别于自定义枚举类 enum的父类Enum的常用方法 toString方法和valu ...

  4. 【Java 枚举 集合】枚举类Enum、映射EnumMap、集EnumSet

    枚举Enum.映射EnumMap.集EnumSet 一.枚举Enum 1.概述 2.介绍 ① valueOf ② values 3.分析 ※ 模仿一个枚举类 二.枚举映射 EnumMap 1.概述 2 ...

  5. Kotlin 枚举类 enum

    枚举类就是一组命名的常数,是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内. 枚举类的最基本的用法是实现类型安全的枚举: enum class Direction {NORTH, SOUT ...

  6. java枚举类型数组_Java基础(七)泛型数组列表ArrayList与枚举类Enum

    一.泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题.ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而 ...

  7. java switch enum对象_Java枚举类(enum)5种常见用法和3种内部方法,详细附代码

    文章目录 Java枚举类(enum)重点用法和内部方法,附代码 一.Java 枚举类(enum) 详解5种常见的用法 1.常量 2.支持switch 3.向枚举中添加新方法 4.覆盖枚举的方法 5.实 ...

  8. mysql查询枚举类型转换_zendframework获取数据库中枚举类enum的数据并将其转换成数组...

    在model中建立这样的模型,在其中写入获取枚举类的方法 请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 class Student extends Zend_ ...

  9. java的枚举类enum

    为什么80%的码农都做不了架构师?>>>    本文永久地址:https://my.oschina.net/bysu/blog/1540903 定义一个枚举类 public enum ...

最新文章

  1. 文巾解题 342. 4的幂
  2. jvm性能调优 - 01类加载机制Review
  3. 白话经典算法系列之六 快速排序 快速搞定
  4. [js] 使用ajax轮询接口有什么优缺点?
  5. 从图森未来的数据处理平台,看Serverless工作流应用场景
  6. linux定时任务生产java服务无法执行问题群友案例
  7. SpokenEnglish--It's a piece of cake
  8. postgresql grant权限解释
  9. java访问控制关键字_Java 访问控制关键字
  10. 组网技术--路由与交换--第三章
  11. redis报错: redis.exceptions.ResponseError: value is not an integer or out of range
  12. 手机改直供电并自动开启adb无线调试修改电量
  13. 土拍熔断意味着什么_熔断意味着什么
  14. 微信小程序原生的下拉框组件
  15. vue3.x +Cesium Cesium 鼠标交互,鼠标点击拾取对象等(五)
  16. 计网——17差错检测和纠正技术
  17. CHAR,NCHAR,VARCHAR,NVARCHAR
  18. 简历怎么制作?简历制作的步骤是什么?
  19. 海瑞单薄 台词深奥 《大明王朝》续集全面“纠错”
  20. 解决SpringMvc框架中提示的“Required request body is missing”异常。

热门文章

  1. DPM(Deformable Parts Model)--原理(一)
  2. 分享一张理解数据库inner join,left join,right join,full join的图
  3. Android之Handler探索
  4. win10输入法切换快捷键怎么设置
  5. c++11 智能指针 unique_ptr、shared_ptr与weak_ptr
  6. tkinter窗口居中方法
  7. 导出全部记录到excel
  8. Struts2之Ognl
  9. Mysql导出函数、存储过程
  10. linux中chkconfig 启动程序顺序介绍