我们先看看下面题目:
以下对枚举类型名的定义中正确的是()。
A enum a={sum,mon,tue};
B enum a {sum=9,mon=-1,tue};
C enum a={"sum","mon","tue"};
D enum a {"sum","mon","tue"};
答案是选B
把枚举类型名看做是一个命名空间,命名空间内部的成员变量的使用相当于类成员使用规则
即类定义 class A{int a; float b;};
枚举类型定义: enum a{x,y=8,z};
枚举类型共享存储空间,即sizeof(a) = 4
第一个值未赋值,则默认为0,后面一个值未赋值默认为前一个值加1
则上述定义中, a::x的值是0 a::y的值是8, a::z的值是9