C++ 枚举类型基本知识

news/2024/8/21 13:01:51

1.定义

enum <类型名> {<枚举常量表>};

2.说明

关键字enum——指明其后的标识符是一个枚举类型的名字。
枚举常量表——由枚举常量构成。枚举常量只能以标识符形式表示,而不能是整型、字符型等文字常量。

非法定义:

enum letter_set {'a','d','F','s','T'}; //枚举常量不能是字符常量
enum year_set{2000,2001,2002,2003,2004,2005}; //枚举常量不能是整型常量

合法定义:

enum color_set1 {RED, BLUE, WHITE, BLACK}; // 定义枚举类型color_set1

定义枚举类型之后,就可以定义该枚举类型的变量
color_set1 color1, color2;

亦可类型与变量同时定义(甚至类型名可省)
enum {Sun,Mon,Tue,Wed,Thu,Fri,Sat} weekday1, weekday2;

3.优点

增加程序的可读性。

4.用法

设有定义:

enum color_set1 {RED, BLUE, WHITE, BLACK} color1, color2;
enum color_set2 { GREEN, RED, YELLOW, WHITE} color3, color4;

则允许的赋值操作如下:

color3=RED;           //将枚举常量值赋给枚举变量
color4=color3;        //相同类型的枚举变量赋值,color4的值为RED
int  i=color3;        //将枚举变量赋给整型变量,i的值为1
int  j=GREEN;         //将枚举常量赋给整型变量,j的值为0

允许的关系运算有:==、<、>、<=、>=、!=等,例如:

//比较同类型枚举变量color3,color4是否相等
if (color3==color4) cout<<"相等"
//输出的是变量color3与WHITE的比较结果,结果为1
cout<< color3<WHITE;

枚举变量可以直接输出,输出的是变量的整数值。例如:

cout<< color3;         //输出的是color3的整数值,即RED的整数值1

5.注意事项

枚举变量的输入输出一般都采用switch语句将其转换为字符或字符串

例如

enum color_set {red,yellow,blue,white,black}; //声明枚举类型color_set
color_set color;//定义枚举变量colorswitch(color){
case red:   cout<<setw(15)<<"red";   break;
case yellow:cout<<setw(15)<<"yellow";break;
case blue:  cout<<setw(15)<<"blue";  break;
case white:    cout<<setw(15)<<"white"; break;
case black: cout<<setw(15)<<"black"; break;}

出处:菜鸟教程


http://lihuaxi.xjx100.cn/news/242490.html

相关文章

UVa11300 - Spreading the Wealth

题意 n个人围成一圈&#xff0c;每个人都有一定数量的金币&#xff0c;金币总数可被n整除&#xff0c;现可将手中金币给左右相邻的人&#xff0c;最终使每人手中的金币数相等&#xff0c;求最少转移的金币数量。 思路 设a[i]给了a[i-1]x1个金币&#xff0c;从a[i1]拿到x2个金币…

哪些人适合学习java技术

java技术在互联网行业一直都是非常重要的存在&#xff0c;学习java技术只会多不会少&#xff0c;那么目前哪些人适合学习java技术呢?来看看下面的详细介绍就知道了。 哪些人适合学习java技术? 1.在家待业人员&#xff0c;没有明确的目标&#xff0c;不知道自己想要什么&#…

Python字符串类型及操作总结

1.字符串表示 两种类型四种表示 单行-一对单引号或一对双引号 “python” ‘python’ 多行-一对三单引号或一对三双引号 ‘’’python’’’ “””python””” (三单引号形成的是字符串&#xff0c;但也可以用作多行注释) 如果字符串中出现双引号&#xff0c;则两边要用单引…

jquery获取当前时间

一、获取当前时间 new Date()方法---------得到结果是当前电脑时间如2011-11-6,10:07二、获取有个固定的时间方法---------var endtimenew Date("2013/10/01,18:25:00");三、时间转化成毫秒数----------endtime.getTime();四、获取当前的年份-----------endtime.getY…

用 cooking 搭建一个简单又优雅的 Vue 项目开发环境 (入门篇)

本文适合 Vue 的初学者&#xff0c;以及对 webpack 不熟悉的同学阅读。前提是你要会用基本的命令行、 Node 和 NPM&#xff0c;以及掌握 ES2015 的基础知识。本文都是在 macOS 环境下运行&#xff0c;要求使用 npm > 3, node > 4 的环境。我们会以 Vue 2.0 搭配 Webpack …

UI设计培训学习中必须掌握的设计原则

不管是刚开始学习UI设计或者已经在学习UI设计同学中&#xff0c;UI设计的设计原则都是非常重要的&#xff0c;需要大家去重点关注的&#xff0c;下面小编就为大家详细的介绍一下UI设计培训学习中必须掌握的设计原则。 UI设计培训学习中必须掌握的设计原则&#xff1a; 重复 在平…

php redis管理系统,php+redis实现小型的用户管理系统

1、redis.php &#xff0c;用于连接redis数据库//实例化$redis new Redis();//连接服务器$redis->connect("localhost");//授权$redis->auth("lamplijie");2、add.php&#xff0c;用于添加用户用户名&#xff1a;密码&#xff1a;年龄&#xff1a;3…

Python time库的使用总结

1. 简介 time库是Python中处理时间的标准库 -计算机时间的表达 -提供获取系统时间并格式化输出功能 -提供系统级精确计时功能&#xff0c;用于程序性能分析 2. 用法 import time time.() 3. 函数 主要有三类&#xff1a; -时间获取&#xff1a;time() ctime() gmtime() -时…