后续枚举器接收的值会在前一个枚举器的值的基础上加一。在前面的示例中,Hearts 将具有值 2,Clubs 将具有值 3,依此类推。Diamonds、Hearts、Clubs 和 Spades 的值分别是 5、6、4 和 5。请注意,5 使用了多次;尽管这并不符合预期,但是允许的。对于区分范围的枚举来说,这些规则是相同的。将 int 转换为区分范围或未区分范围的枚举器时,需要强制转换。但是,你可以将区分范围的枚举器提升为整数值,而不进行强制转换。按照这种方式使用隐式转换可能导致意外副作用。这还意味着无论联合具有多少成员,它始终仅使用足以存储最大成员的内存。联合不支持继承,因此联合本身不能用作基类、继承自另一个类或具有虚函数。
暂无评论