C ++枚举复制构造函数和赋值运算符

时间:2012-08-02 15:22:08

标签: c++ enumeration copy-constructor assignment-operator

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

2 个答案:

答案 0 :(得分:0)

enum只是int s,这就是为什么他们总是会有“赋值运算符”。

默认情况下使用标准 enum的第一个元素始终以0为值,而在第一个元素之后的所有其他元素都是“previous_value +” 1" 。

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

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

答案 1 :(得分:0)

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