1

我刚刚发现枚举在 C++ 中具有默认构造函数和赋值运算符。有没有人有非默认复制构造函数和赋值运算符的枚举示例?

4

2 回答 2

0

enum只是ints,这就是为什么他们总是有“赋值运算符”的原因。

默认情况下,an 的第一个元素enum总是0作为值,而在第一个元素之后的所有其他元素都是“previous_value + 1”。

当然,您可以更改第一个元素的值。实际上,您可以为枚举的每个“成员”赋值。
感谢@Konrad Rudolph 的评论。我只是在开始时没有提到“默认”,因为我们在谈论“默认构造”。

所以不,enum没有“赋值运算符”和“默认/复制构造函数”就没有 s。

于 2012-08-02T15:23:41.647 回答
0

除了较少的隐式转换之外,枚举器的行为与整数类型非常相似。我想不出一个枚举会有非默认复制构造函数或赋值运算符的情况(除非你将它包装在一个类中)。

于 2012-08-02T15:24:04.123 回答