【NB】C++ 之 enum 枚举量声明、定义、使用与强类型枚举

53423028   ·   发表于 6个月前   ·   编程代码

枚举量声明、定义、使用

众所周知,C/C++ 语言可以使用 #define 和 const 创建符号常量,而使用 enum 工具不仅能够创建符号常量,还能定义新的数据类型,但是必须按照一定的规则进行,下面我们一起看下 enum 的使用方法。
20 Reply   |  Until 6个月前 | 4033 View

13824879591
发表于 6个月前

步骤(一)——枚举量的声明和定义

评论列表

  • 加载数据中...

编写评论内容

358860269
发表于 6个月前

(1) 首先,请看下面的语句:

评论列表

  • 加载数据中...

编写评论内容

方便又美味
发表于 6个月前

enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

评论列表

  • 加载数据中...

编写评论内容

微梦
发表于 6个月前

这句话有两个作用:

评论列表

  • 加载数据中...

编写评论内容

3446779815
发表于 6个月前

第一:声明 enumType 为新的数据类型,称为枚举(enumeration);

评论列表

  • 加载数据中...

编写评论内容

acsa
发表于 6个月前

第二:声明 Monday、Tuesday 等为符号常量,通常称之为枚举量,其值默认分别为 0-6。(后面会介绍怎样显式的初始化枚举量的值)

评论列表

  • 加载数据中...

编写评论内容

481678144
发表于 6个月前

(2) 接着利用新的枚举类型 enumType 声明这种类型的变量:enumType Weekday 就像使用基本变量类型int声明变量一样,如 int a; 也可以在定义枚举类型时定义枚举变量

评论列表

  • 加载数据中...

编写评论内容

menglicl
发表于 6个月前

enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}Weekday;

评论列表

  • 加载数据中...

编写评论内容

wa684572
发表于 6个月前

然而与基本变量类型不同的地方是,在不进行强制转换的前提下,只能将定义的枚举量赋值给该种枚举的变量,如:Weekday = Monday; 或者 Weekday = Sunday; 不能将其他值赋给枚举变量,如:Weekday = 10; 这是不允许的,因为 10 不是枚举量。也就是说 Weekday 只能是定义的 Monday-Sunday 这些定义过的枚举量。然而这不是绝对的,第六条会讲到利用强制类型转换将其他类型值赋给枚举变量。

评论列表

  • 加载数据中...

编写评论内容

794229345
发表于 6个月前

(3) 上面讲不能将非枚举量赋给枚举变量,那么能不能将枚举量赋给非枚举变量呢?如:int a=Monday; 这是允许的,因为枚举量是符号常量,这里的赋值编译器会自动把枚举量转换为int类型。

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
程序耗时 0.047秒 内存:1390KB