Re[3]: Перегрузка операций (дубль два с исходниками)
От: Гарин Георгий  
Дата: 25.01.02 08:13
Оценка:
Здравствуйте Андрей Тарасевич, Вы писали:

АТ>>"Лишние" вызовы конструкторов и деструкторов возникают в частности из за того, что ты передаешь объекты в оператор '+' по значению. Это приводит к созданиям промежуточных объектов-копий. Это совершенно не нужно. Предевать следует константные ссылки:


АТ>>polynom polynom::operator=(const polynom&);

АТ>>polynom polynom::operator+(const polynom&);

АТ>Еще одно уточнение: оператор '+' не модифицирует своего левого операнда, поэтому соответствующий метод следует объявить как константный:


АТ>polynom polynom::operator=(const polynom&);

АТ>polynom polynom::operator+(const polynom&) const;
И не создавать временный объект, что-ли, т.е. писать this->.... = this-> ... + что-то
return*this
Так?

А как быть со вторым вопросом?
polynom a(2),b(2),*c
c=a*b — это можно сделать и как?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.