C++(浅析枚举类型-enum)
2024-10-10 06:55:31
枚举类型
枚举类型(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
最新文章
- opencv 抠图联通块(c接口)
- 【转】libevent和基于libevent的网络编程
- Oracle游标整理二
- Python 处理多层嵌套列表
- PHPnow 升级后 PHP不支持GD、MySQL
- Java List 用法代码分析 非常详细
- Emberjs View and Route
- 知识备忘phpcms 简单解析一 数据表字段
- CI框架源代码阅读笔记3 全局函数Common.php
- IIS8中使用OpenSSL来创建CA并且签发SSL证书
- NI Vision for LabVIEW 基础(一):NI Vision 简介
- Linux磁盘分区(二):删除
- WPF 自定义Calendar样式(日历样式,周六周日红色显示)
- 【Spark篇】---SparkStreaming+Kafka的两种模式receiver模式和Direct模式
- Django web框架-----url path name详解
- 数据挖掘算法——Close算法
- 2019-03-08-day007-深浅拷贝
- Mongodb集群与分片 1
- 如何使两台机器不通过密码连接起来(linux)
- Differences between write through and write back
热门文章
- 每天一个Linux命令(03)--pwd
- SQL SERVER 事务日志 解析
- 算法模板——计算几何2(二维凸包——Andrew算法)
- .NET的HTTP辅助类:RestSharp
- servlet匹配规则和顺序
- 使用htmlparse爬虫技术爬取电影网页的全部下载链接
- jQuery中$.extend(true,object1, object2);深拷贝对象
- 给IIS添加网站配置权限
- [LeetCode] Decode String 题解
- 编程语言基础:用“收集器”理解各种语言(C++、Java、Python)中的可变参数!