原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5171110.html 

一、枚举类型的定义

enum 类型名 {枚举值表};

类型名是变量名,指定枚举类型的名称。

枚举值表也叫枚举元素列表,列出定义的枚举类型的所有可用值,各个值之间用“,”分开。

例:

enum Suit { Diamonds, Hearts, Clubs, Spades };

二、枚举变量说明

枚举变量有多种声明方式:

1.枚举类型定义与变量声明分开

如:

enum Suit { Diamonds, Hearts, Clubs, Spades };

enum Suit a;

enum Suit b,c;

变量a,b,c的类型都定义为枚举类型enum Suit。

2.枚举类型定义与变量声明同时进行

如:

enum Suit { Diamonds, Hearts, Clubs, Spades }a,b,c;

此处类型名可以省略,如以下的声明也是可以的。

enum { Diamonds, Hearts, Clubs, Spades }a,b,c;

3.用typedef先将枚举类型定义为别名,再利用别名进行变量的声明

有以下几种方式:

1).typedef enum Suit { Diamonds, Hearts, Clubs, Spades }Suit;

enum Suit a;

enum Suit b,c;

2).typedef enum{ Diamonds, Hearts, Clubs, Spades }Suit;

enum Suit a;

enum Suit b,c;

3).typedef enum Suit { Diamonds, Hearts, Clubs, Spades };

enum Suit a;

enum Suit b,c;

注意:同一程序中不能定义同类型名的枚举类型;不同枚举类型的枚举元素不能同名。

三、枚举元素说明

1.将会为每个枚举元素分配一个整型值,默认从0开始,逐个加1。

2.也可以在定义枚举类型时对枚举元素赋值,此时,赋值的枚举值为所赋的值,而其他没有赋值的枚举值在为前一个枚举值加1.

2.枚举值是常量不是变量,不能在程序中再为枚举元素赋值。

四、枚举型与整型的转换

枚举型可以隐式的转换为int型,int型不能隐式的转换为枚举型。

int型不能隐式转换为枚举型

枚举型可以隐式的转换为int型

参考:https://msdn.microsoft.com/zh-cn/library/2dzy4k6e.aspx

http://www.cnblogs.com/JCSU/articles/1299051.html

C++枚举类型详解的更多相关文章

  1. C语言--enum,typedef enum 枚举类型详解

    原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...

  2. Java魔法堂:枚举类型详解

    一.前言 Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息. // C# enum MyColor{ RED = , BLUE = } Console.Write ...

  3. Java中的枚举类型详解

    枚举类型介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义 ...

  4. 测者的测试技术手册:Junit单元测试遇见的一个枚举类型的坑(枚举类型详解)

    Enum的简介 枚举类型很早就在计算机语言中存在了,主要被用来将一组相似的值包含进一种类型中,这种类型的名称被定义成独一无二的类型描述符,这就是枚举类型. 在java语言中,枚举类型是一个完整功能的类 ...

  5. java枚举类型详解

      枚举类型是JDK1.5的新特性.显然,enum很像特殊的class,实际上enum声明定义的类型就是一个类.而这些类都是类库中Enum类的子类(java.lang.Enum<E>).它 ...

  6. 转载 - C - 枚举类型详解

    出处:http://www.cnblogs.com/JCSU/articles/1299051.html 注:以下全部代码的执行环境为VC++ 6.0 在程序中,可能需要为某些整数定义一个别名,我们可 ...

  7. java枚举使用详解

    在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集” ...

  8. java枚举使用详解(转)

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...

  9. java 枚举使用详解

    在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集” ...

随机推荐

  1. js 全选/取消

    平时常用一个小功能 var check_all = document.getElementsByName('student_box'); var check_flag = true; function ...

  2. Windows|Windows Server 2003单网卡搭建VPN

    1.[开始]--->[程序]--->[管理工具]--->[路由和远程访问].如下图所示: 2.选中"本地"右键"配置并启用路由和远程访问".如 ...

  3. SQL语句的优化建议

    重中之重---语句执行顺序   我们先看看语句的执行顺序 如果我没记错这是<SQL SERVER 2005技术内幕--查询>这本书的开篇第一章第一节.书的作者也要让读者首先了解语句是怎么样 ...

  4. 使用fliter实现ie下css中rgba的效果

    直接举例吧background-color: rgba(255,255,255,0.8); 设置背景颜色为白色,不透明度设为80% 在ie下可以用fliter这一属性进行设置: filter:prog ...

  5. bootstrap3 响应式布局栅格式布局

    抓住重点 下面开始实现Bootstrap版本3的Demo 案例 首先去官方网站  http://www.bootcss.com/ 下载 点击 进入 点击 进入 下载 把 相关的js和css 拷贝到项目 ...

  6. FastDFS+Nginx部署详细教程

    本例使用到的所有tar和zip包地址:http://download.csdn.net/detail/corey_jk/9758664 本例中使用CentOS1.CentOS2两台机器实现. 1 GC ...

  7. Mybatis实战之TypeHandler高级进阶

    上篇文章分享了在项目实战中自定义Mybatis的TypeHandler来处理枚举类型.文章结尾也指出了美中不足之处,那就是每次都需要指定我们自定义的枚举TypeHandler. 随着项目枚举类型的增多 ...

  8. Lua与.net的CLR相互调用

    工程环境搭建: 下载luainterface-1.5.3.zip文件,使用到的dll为Built目录下的LuaInterface.dll.lua51.dll.luanet.dll LuaInterfa ...

  9. JAVA集合一之集合简介(Collection,List,Set)

    在编写JAVA程序中,我们经常会遇到需要保存一组数据对象,此时,我们可以采用对象数组来进行多个对象的保存,但对象数组存在一个最大的问题即在于长度上的限制,如果说我们现在要保存一组对象,但是我们并知道数 ...

  10. [原创.数据可视化系列之十三]idw反距离权重插值算法的javascript代码实现

    图形渲染中,idw反距离权重插值算法是一个应用非常广泛的方法,但是js实现的比较少,目前实现一个: //idw算法 //输入[[x:0,y:0,v:0],[x:0,y:0,v:0],[x:0,y:0, ...