当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 4.12 复习题 第10题 定义枚举变量

C++ Primer Plus 6th 4.12 复习题 第10题 定义枚举变量

更新时间:2019-03-06 22:23:18浏览次数:1+次

C++ Primer Plus复习题4.12 第10题  定义枚举变量

题目:
10.用enum定义一个名为Response的类型,它包含Yes、No和Maybe等枚举量,其中Yes的值为1,No为0,Maybe为2。

答案:
enum Response{No,Yes,Maybe};

C++技术网辅导详解解答:
    枚举,是一一列举的意思。一一列举隐含的一个信息就是,被列举的数量是较少的,能够掰手指头数出来的。否则数量太多,则没法一一列举了。
    那么枚举类型也是这样的效果。我们定义枚举类型,一般不会定义很多枚举变量。可以看到,本题中,仅有三个枚举值。
    枚举类型的作用相当于将几个特殊的取值放在一起,并指定一个专用的名字,这样让我们在后面写代码的时候引用名字而不是数字。这样让代码的可读性变得更高,也不容易出错。
    枚举类型定义的时候,花括号内的写法和结构体不同。区别在于,枚举变量的数值都是整数,所以没有类型的描述。另外,取值也是有特定的规定的。默认情况下,花括号里的名字,从第一个开始是0,从左到右依次加一。如果你要指定数值,那么可以给对应的名字确定一个数字,然后右面紧跟着的名字对应的数值在这个新确定的数字基础上加一。当然你也可以对每一个名字直接确定一个数字。
    而题目中要取的数字是0,1,2。起始值从0开始,那么就符合默认的取值,我们不必单独指定。只不过我们要将名字对应的数字按照默认的规定来排序。花括号内第一个名字默认是0,所以必须放No,这一点是需要注意的地方哦。