У меня есть класс SimpleCircle. Его заявление выглядит следующим образом:Создание копии объекта в C++
class SimpleCircle
{
public:
SimpleCircle();
SimpleCircle(int rad);
SimpleCircle(const SimpleCircle&);
~SimpleCircle();
SimpleCircle operator++(int);
}
Об определении я использую:
SimpleCircle SimpleCircle::operator++(int)
{
SimpleCircle temp(*this);
++itsRadius;
return temp;
}
Когда я использую
SimpleCircle темп (* это)
, является вызывается конструктор копирования или что? Что там происходит? У меня нет какой-либо конструктор, как
SimpleCircle (SimpleCircle newCircle)
или что-то (кроме конструктора копирования)
Да, это вызов конструктора копирования. – modelnine
'SimpleCircle (const SimpleCircle &);' ваш конструктор копирования, и это тот, который вызывается. –
Вы можете определить поведение программы с помощью отладчика. –