C++笔记:自己加上他人博文对于枚举理解+口袋摸球例子

本文介绍了C++中的枚举类型,包括定义方式、赋值规则以及在if和switch语句中的使用。通过口袋摸球的例子展示了枚举如何增强代码的可读性,强调了枚举作为常量集合在编程中的优势。
摘要由CSDN通过智能技术生成

概述

枚举类型的定义:枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。如果一个变量有几种可能的值,可以定义为枚举类型(enumeration),所谓枚举就是将枚举变量能取得值一一列举出来。枚举类型定义完后,将会为每个枚举元素分配一个整型值,默认从0开始,逐个加1。自定义赋值整型值的情况可自行查资料。

枚举类型的定义格式为:

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

格式说明:

  • 关键字enum——指明其后的标识符是一个枚举类型的名字。
  • 枚举常量表——由枚举常量构成。“枚举常量"或称"枚举成员”,是以标识符形式表示的整型量,表示枚举类型的取值。枚举常量表列出枚举类型的所有取值,各枚举常量之间以","间隔,且必须各不相同。取值类型与条件表达式相同。

总结的需要注意的地方(不足之处希望读者在留言处指出)

(一)声明的方式

(1)枚举类型的定义与枚举变量声明分开

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
   
 enum color_set {
   red,yellow,blue,white,black}; //定义枚举类型color_set
 color_set color;//声明枚举变量color
 return 0;
}

(2)枚举类型的定义与枚举变量声明同时进行

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
   
 enum color_set {
   red,yellow,blue,white,black}color; 
 return 0;
}

该语句还可以省略类型名

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
   
 enum {
   red,yellow,blue,white,black}color; 
 return 0;
}

(3)用typedef先将枚举类型定义为别名,再利用别名进行枚举变量的声明

typedef enum color_set{
   red,yellow,blue,white,black} color_set; //方式一
typedef enum {
   red,yellow,blue,white,black} color_set; //方式二

(二)赋值

错误:

#include<iostream>
#include<iomanip>
#include<windows.h>
using namespace std;
int main(){
   
    enum color_set {
   red,yellow,blue,white,black}; //声明枚举类型color_set
    color_set color=0; //枚举变量的赋值必须以枚举常量赋值(字符常量),不能是枚举成员的默认值,否则报错
 cout<<color<<endl;
 return 0;
}

输出:
在这里插入图片描述
此处涉及枚举类型与整形的转换,一般来说,枚举类型可以隐式的转换为int型,int型不能转换为枚举类型
比如:


正确:

#include<iostream>
#include<iomanip>
#include<windows.h>
using namespace std;
int main()
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值