示例
class
MyClass
{
public
:
MyClass&
operator
=(
const
MyClass& rhs);
private
:
int
field;
};
MyClass
&
MyClass
::
operator
=(
const
MyClass
& rightValue)
{
if
(rightValue.field ==
this
.field){
return
rightValue
;
}
}
解决方案
从赋值运算符返回 *this。
class
MyClass
{
public
:
MyClass&
operator
=(
const
MyClass& rhs);
private
:
int
field;
};
MyClass
&
MyClass
::
operator
=(
const
MyClass
& rightValue)
{
if
(rightValue.field ==
this
.field){
return
*
this
;
}
}