示例
class
MyClass
{
public
:
void
function();
private
:
char
*data;
};
解决方案
对于与内存相关的类,总是实现赋值运算符。
class
MyClass
{
public
:
void
function
();
MyClass
&
operator
=(
const
MyClass
& rightSide){
if (this == &rhs){
return *this;
}
else if(*data == rightSide;{
return *this;
}
}
private
:
char
*data;
};
解决方案
通过将赋值运算符声明为 private 来禁用赋值。
class
MyClass
{
public
:
void
function
();
private
:
char
*data;
MyClass
&
operator
=(
const
MyClass
& rightSide);
};