C++枚举enum类型-典型性质
适用于大学阶段了解简单的枚举类型的特征,
如果“赶时间”可以直接跳转“特性总结”。
文章目录
- 前言
- 一、使用案例
- 二、特性总结
- 1.基本类型
- 2.基本性质
- 3.自定义初始值
前言
从最简单的“星期”枚举开始
提示:以下是本篇文章正文内容,案例选自例题选自《C++语言程序设计(第四版)》
一、使用案例
示例:声明枚举类型 Weekday, 包括SUNDAY到SATURDAY7个元素在程序中声明
Weekday 类型的变量, 对其赋值, 声明整型变量, 看看能否对其赋 Weekday 类型的值。
代码如下(示例):
/*2 - 33 声明枚举类型 Weekday, 包括SUNDAY到SATURDAY7个元素在程序中声明
Weekday 类型的变量, 对其赋值, 声明整型变量, 看看能否对其赋 Weekday 类型的值。
枚举类型*/#include<iostream>
using namespace std;
enum Weekday {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
int main() {int i;Weekday d = THURSDAY;cout << "d=" << d << endl;i = d;cout << "i=" << i << endl;d = (Weekday)6;cout << "d=" << d << endl;d = Weekday(4);cout << "d=" << d << endl;return 0;
}
结果如下(示例):
二、特性总结
1.基本类型
enum enumType {枚举1, 枚举2, 枚举3……};
如上题(示例):
enum Weekday {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
2.基本性质
[1] 声明符号常量,通常称之为枚举量,其默认值从0开始,依次往后1、2、3……
[2] 在不进行强制转换的前提下,只能将定义的枚举量赋值给该种枚举的变量,如:Weekday = MONDAY; 或者Weekday = SUNDAY。
[3] enumType()类型的使用:例,Weekday = enumType(3);等同于:Weekday = WEDNESDAY
拓展:若将一个超出枚举取值范围的值通过强制转换赋给枚举变量,结果将是不确定的,但程序不会出错,但无意义:例,Weekday = enumType(100)。
3.自定义初始值
例题中:
enum Weekday {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
枚举量SUNDAY到SATURDAY整型值默认分别为0-7,但可直接设置枚举量的值:
(也可以只显式的定义一部分枚举量的值)
enum Weekday {
SUNDAY = 1, MONDAY, TUESDAY = 1, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
注意:
[1] 指定的值必须是整数!
[2] 可以只显式的定义一部分枚举量的值。
[3] 枚举量的值可以相同。
例题选自《C++语言程序设计(第四版)》
文档供本人学习笔记使用,仅供参考。
C++枚举enum类型-典型性质相关推荐
- Java枚举(Enum)类型使用的正确姿势
关于Java Enum的介绍及原理参见 Java枚举(Enum)类型的基本介绍与原理探求 Enum类型的基本使用 定义一个枚举类的主要作用就是在逻辑代码中对某个变量的值进行比较.同样以季节的枚举类Se ...
- 枚举(enum)类型
关键字enum 可以将一组具名的值的有限集合创建一种新的类型,而这些具名的值可以作为常规的程序使用.创建enum 时,编译器会为你生成一个相关的类,这个类继承自java.lang.Enum .下面是一 ...
- Java枚举(Enum)类型的基本介绍与原理探求
Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...
- Typescript - enum 枚举类型(数值型枚举 / 字符串枚举 / 常量枚举 / 异构枚举 / 计算枚举成员 / 联合枚举和枚举成员类型 / 运行时的枚举 / 环境枚举 / 对象与枚举)教程
前言 Enums(枚举)是 TypeScript 的少数功能之一,它不是 JavaScript 的类型级扩展,仅支持数字的和基于字符串的枚举. 使用枚举您可以定义一组带名字的常量,并且清晰地表达意图或 ...
- mysql 枚举_是否推荐使用MySQL的enum类型?
使用 MySQL ENUM 作为列的数据类型有两个主要的好处,一是使得数据更紧凑进而节省空间,二是更好的可阅读性.但是,享受这些好处的同时,也要承担 ENUM 所带来的各种负面影响. 我们罗列几个主要 ...
- c++ enum 给定类型_C++11作用域内枚举enum
在C++11之前的枚举(enum),是没有办法两个枚举(enum)内有相同枚举名的.如果还不知道C++中枚举(enum)是什么,可以看这篇:枚举enum 如:苹果和桔子都有大,中,小.写个代码来说明下 ...
- 取枚举的参数c语言,求解:如何获得enum类型中枚举值的数量
评论 # re: 求解:如何获得enum类型中枚举值的数量 2009-11-11 20:43 OwnWaterloo # re: 求解:如何获得enum类型中枚举值的数量[未登录] 2009-11-1 ...
- c语言遍历枚举,C# Enum 类型遍历
void Main() { new EnumForeach().Foreach(); } public class EnumForeach { public void Foreach() { fore ...
- java 枚举型 默认值,c# - 选择Enum类型的默认值而不必更改值
c# - 选择Enum类型的默认值而不必更改值 在C#中,是否可以使用属性修饰Enum类型或执行其他操作来指定默认值应该是什么,而不更改值? 无论出于何种原因,所需的数字可能都是一成不变的,并且仍然可 ...
最新文章
- php关系运算符语句,PHP基础__运算符和逻辑语句(三)
- 用matlab求解不等方程组,Matlab:求高人指点用matlab求解非线性方程组,解出来的值不收敛,提前结束...
- maven常用命令(编译、测试、运行、打包、安装、部署)
- JavaScript图片 向下闪缩放的效果
- Django uplodify 多文件同时上传
- ESA和NetWeaver
- Mapv 是地理信息可视化开源库
- python类方法和实例方法的区别_python中的类方法,实例方法和静态方法的区别
- mysql 删除创建表分区,MySQL分区表创建,分区创建、删除示例
- Android系统源码目录解析
- 基于Qt的抽奖小程序
- 服务器搬迁方案_定稿某信息中心机房搬迁方案实施实施方案计划_项目可行性方案(样例3)...
- xshell6配色-保护您的眼睛
- Java的Modifier
- 如何用ps抠出完美火焰?
- iris学习踩坑之旅
- 使用Selenium获取银行账户余额
- java 1st 2nd 3rd 4th_1st(3rd)
- c语言实现定积分运算
- Cadence学习篇(1) Cadence原理图工程以及原理图库的创建
热门文章
- python猜单词游戏代码_Python之猜单词游戏
- vue js获取手机系统型号、版本、浏览器类型
- *6-1 CCF 2015-03-2 数字排序
- MySQL各种引擎特点简述
- (伪)Python爬取猫眼电影(反反爬虫过程中遇到的坑)
- vscode保存卡顿,显示正在从“‘Vetur‘, ‘ESLint‘”获取代码...
- 英语口语学习文章分享
- CentOS7.2时间不正确
- 大学生mysql实训心得_大学生实训心得体会范文(精选3篇)
- 物理思维在计算机中的应用,思维导图学物理 学会用大脑的语言进行思考