Если вы не объявляете оператор копирования-присвоения в своем классе, тогда он неявно объявляется для вас (и неявно определяется, если вы когда-либо его используете).
Неявный оператор назначит каждому членуваш объект, если это возможно;в противном случае (если какой-либо элемент является ссылкой, или const
, или имеет частный или удаленный оператор назначения копирования), вы получите ошибку компиляции.
Аналогично, если вы не объявите конструктор копирования, тогда вы получите неявный, который будет копировать каждого члена.Ваш код использует это в operator+
, чтобы скопировать аргумент и возвращаемое значение.