7、枚举类型

  C++的enum工具提供了另一种创建符号常量的方式,这种方式可以代替const。它还允许定义新类型,但必须按严格的限制进行。使用enum的语法与使用结构的相似。

enum spectrum {red,orange,yellow,green,blue,violet,indigo,ultraviolet};

  这条语句完成两项工作:

     让spectrum成为新类型的名称:spectrum别称为枚举(enumeration),就像struct变量别称为结构体一样。

      将red、orange、yellow等作为符号常量,它们对应数值0~7.这些常量叫做枚举量(enumerator)

在默认情况下,将整数数值赋值给枚举量,第一个枚举量的值为0,第二个枚举量的值为1,以此类推。可以通过显示的指定整数值来覆盖默认值。

enum spectrum {red,orange,yellow,green,blue,violet,indigo,ultraviolet};
spectrum band;
band = blue; //有效的 blue是一个枚举值
band = 2000; //无效的,2000不是一个枚举值

  

7.1、设置枚举量的值

  可以使用赋值运算符来显示的设置枚举量的值:

enum bits{one = 1,tow = 2,four = 4,eight = 8};
//指定的值必学是整数,也可以只显式地定义其中一些枚举量的值:
enum bigstep{first,second = 100,third};
//这里,first在默认情况下为0.后面没有被初始化的枚举量的值将比其前面的枚举
//量大1因此third的值为101.
//最后可以创建多个值相同的枚举量
enum {zero,null = 0,noe , numero_uno = 1};

  

    

7、C++枚举类型的更多相关文章

  1. Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件

    在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...

  2. golang枚举类型 - iota用法拾遗

    在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...

  3. 第三条:用私有构造器或者枚举类型强化Singleton属性

    1.使用单元素的枚举类型 public enum Singleton implements Serializable { INSTANCE; private String field; public ...

  4. 在WPF中使用变通方法实现枚举类型的XAML绑定

    问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...

  5. 窥探Swift之别样的枚举类型

    想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...

  6. C#枚举类型的常用操作总结

    枚举类型是定义了一组"符号名称/值"配对.枚举类型是强类型的.每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueTy ...

  7. TypeScript中的枚举类型

    TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...

  8. Python 中的枚举类型~转

    Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...

  9. java 枚举类型 构造函数及用法

    // 1. 定义枚举类型 public enum Light { // 利用构造函数传参 RED (1), GREEN (3), YELLOW (2); // 定义私有变量 private int n ...

  10. .NET 中关于 TypeCode 和枚举类型的问题

    因为C#中没有提供 Switch on Type 的功能,因此要判断类型通常会用一长串的if else,当然这种写法的问题是不够高效,且不够美观.因此 C# 中对常见类型提供了一组枚举值,也就是 Ty ...

随机推荐

  1. 深入剖析SolrCloud(二)

    作者:洞庭散人 出处:http://phinecos.cnblogs.com/ 本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由 ...

  2. 2-配置Andriod环境时的错误。。。Theme.AppCompat.Light

    编译或运行时可能会出现错误: Error:Error retrieving parent for item: No resource found that matches the given name ...

  3. asp.net web 自定义控件

    0.调用代码 protected override void Page_Load(object sender, EventArgs e) { //给基类服务接口复制,可不付 if (IsPostBac ...

  4. linux蓝屏时间修改

    setterm -blank 2   #/etc/profile里添加这样一句话,可以让屏幕2分钟后没有信号(蓝屏) setterm -blank 0   #/etc/profile里添加这样一句话, ...

  5. File类中的list()和listFiles()方法

    list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组 listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组 public class  ...

  6. [GO]变量内存和变量地址

    package main import "fmt" func main() { //每个变量都有两层含义,变量的内存和变量的地址 fmt.Printf("a = %d\n ...

  7. css总结11:css的overflow问题

    1 排版时经常遇到块级元素内容overflow,怎么妥当处理是一个关键. overflow的常用属性:  代码: <!DOCTYPE html><html lang="en ...

  8. 使用Adobe Illustrator + ArcGIS绘制地图 | Map Design Using ArcGIS + Adobe Illustrator

    国内GIS/Cartography同行大部分使用CorelDraw绘制地图.相比之下,国外同行则更多使用Adobe Illustrator绘制地图.CorelDraw和Illustrator两个软件均 ...

  9. Python Lambda 的简单用法

    下面代码简单举例介绍以下 lambda的用法. from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而de ...

  10. Sqlserver风格规范

    常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigint ...