枚举类型

枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。

如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。

创建枚举,需要使用关键字 enum。枚举类型的一般形式为:

enum enum-name { list of names } var-list;
enum-name 是枚举类型的名称。名称列表 { list of names } 是用逗号分隔的 eg1:
  enum color { red, green, blue } c;//定义了一个名为color的的枚举类型,c是枚举变量。
  c = blue;//给枚举变量C赋值 c = blue
eg2:
  
默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面的枚举中,green 的值为 5。
  enum color { red, green=5, blue };

  在这里,blue 的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1。

eg:

#include <iostream>
using namespace std;

int main()
{
enum school{teacher,student,headmaster} a,b,c;
a=school(0);
b=student;
c=headmaster;
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
cout << "Hello World "<< endl;
return 0;
}

为什么要用枚举呢?

看看这个例子:

#include<iostream>
using namespace std;
void main()
{
    int per=0;
    switch(per)
    {
    case 0:
        cout<<"中国人,牛!"<<endl;
        break;
    case 1:
        cout<<"美帝人,黑!"<<endl;
        break;
    case 2:
        cout<<"英国佬,才!"<<endl;
        break;
    default:
        break;
    }
}

 //对比

#include<iostream>
using namespace std;
 
enum Person
{
    Chinese,American,English
};
 
void main()
{
    Person per=American;
    switch(per)
    {
    case Chinese:
        cout<<"中国人,牛!"<<endl;
        break;
    case American:
        cout<<"美帝人,黑!"<<endl;
        break;
    case English:
        cout<<"英国佬,才!"<<endl;
        break;
    default:
        break;
    }
}
 
看了之后知道理解了一点,但感觉也就那样。

参考:http://www.cnblogs.com/shrimp-can/p/5171110.html

最新文章

  1. opencv 抠图联通块(c接口)
  2. 【转】libevent和基于libevent的网络编程
  3. Oracle游标整理二
  4. Python 处理多层嵌套列表
  5. PHPnow 升级后 PHP不支持GD、MySQL
  6. Java List 用法代码分析 非常详细
  7. Emberjs View and Route
  8. 知识备忘phpcms 简单解析一 数据表字段
  9. CI框架源代码阅读笔记3 全局函数Common.php
  10. IIS8中使用OpenSSL来创建CA并且签发SSL证书
  11. NI Vision for LabVIEW 基础(一):NI Vision 简介
  12. Linux磁盘分区(二):删除
  13. WPF 自定义Calendar样式(日历样式,周六周日红色显示)
  14. 【Spark篇】---SparkStreaming+Kafka的两种模式receiver模式和Direct模式
  15. Django web框架-----url path name详解
  16. 数据挖掘算法——Close算法
  17. 2019-03-08-day007-深浅拷贝
  18. Mongodb集群与分片 1
  19. 如何使两台机器不通过密码连接起来(linux)
  20. Differences between write through and write back

热门文章

  1. 每天一个Linux命令(03)--pwd
  2. SQL SERVER 事务日志 解析
  3. 算法模板——计算几何2(二维凸包——Andrew算法)
  4. .NET的HTTP辅助类:RestSharp
  5. servlet匹配规则和顺序
  6. 使用htmlparse爬虫技术爬取电影网页的全部下载链接
  7. jQuery中$.extend(true,object1, object2);深拷贝对象
  8. 给IIS添加网站配置权限
  9. [LeetCode] Decode String 题解
  10. 编程语言基础:用“收集器”理解各种语言(C++、Java、Python)中的可变参数!