【发布时间】:2015-10-14 22:08:26
【问题描述】:
我刚刚在 C++ Primer(第 5 版)的第 563 页了解到可以重载赋值运算符。所以,如果我正在编写一个类C,并且将一个整数分配给这个类的一个对象是有意义的,那么我可以为一个赋值运算符提供一个rhs 类型为int 的赋值运算符。然后我班的客户可以写:
C c;
...
c = 5;
问题:如果这样的赋值有意义,那么隐式构造函数C(int); 是否也有意义?如果是这样,那么我应该真正定义这个构造函数(它也有其他用途)并且永远不需要重载赋值运算符。我错过了什么吗?
【问题讨论】:
-
是的,有这样的构造函数很正常,很少定义除复制赋值或移动赋值之外的任何赋值运算符。
标签: c++ constructor operator-overloading assignment-operator