@frilix
Иногда "творю"

Почему срабатывает конструктор копирования?

const Pol operator=(const Pol &right)
        {
            cout << "ПЕРЕГРУЗКА ОПЕРАЦИИ = " << endl;

            if (this == &right)
                return *this;

            level = right.level;
            delete [] pArray;

            pArray = new double[level+1];

            for (int i = 0; i < right.level + 1; i++)
                pArray[i] = right.pArray[i];

            return *this;
        }


Код не особо важен ,более важно почему срабатывает конструктор копирования ? По логике вещей мы просто возращаем объкт(ранее инициализированный ) в точку вызова .
  • Вопрос задан
  • 190 просмотров
Решения вопроса 2
@onepavel
Консультация и разработка мобильных приложений
что вы получили применив * к this ?
и возвращаемое значение у функции "const Pol operator" говорит о том, что вернется копия
объекта, который был внутри функции.
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Операция присваивания, по договорённости, должна возвращать Pol&.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы