Esempio
class
MyClass
{
public
:
void
function();
private
:
char
*data;
};
Soluzione
Implementare sempre un operatore di assegnazione per le classi con riferimenti alla memoria.
class
MyClass
{
public
:
void
function
();
MyClass
&
operator
=(
const
MyClass
& rightSide){
if (this == &rhs){
return *this;
}
else if(*data == rightSide;{
return *this;
}
}
private
:
char
*data;
};
Soluzione
Disabilitare l'uso dell'assegnazione dichiarandone una privata.
class
MyClass
{
public
:
void
function
();
private
:
char
*data;
MyClass
&
operator
=(
const
MyClass
& rightSide);
};