Я использовал следующий код для перегрузки оператора присваивания:
SimpleCircle SimpleCircle::operator=(const SimpleCircle & rhs)
{
if(this == &rhs)
return *this;
itsRadius = rhs.getRadius();
return *this;
}
Мой конструктор копирования таков:
SimpleCircle::SimpleCircle(const SimpleCircle & rhs)
{
itsRadius = rhs.getRadius();
}
В приведенном выше коде перегрузки оператора конструктор копирования вызывается при создании нового объекта. ; поэтому я использовал приведенный ниже код:
SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
{
if(this == &rhs)
return *this;
itsRadius = rhs.getRadius();
return *this;
}
Он работает отлично, и проблемы с конструктором копирования удалось избежать, но есть ли какие-либо неизвестные проблемы (для меня) в отношении этого?