Re: Перегрузка операций (дубль два с исходниками)
От:
Андрей Тарасевич
Дата:
25.01.02 08:00
Оценка:
Здравствуйте Гарин Георгий, Вы писали:
ГГ>class polynom : public complex
ГГ>{
ГГ>public:
ГГ> complex* p;
ГГ>
ГГ> polynom(int);
ГГ> virtual ~polynom();
ГГ> polynom polynom::operator=(polynom&);
ГГ> polynom polynom::operator+(polynom);
ГГ> int deg;
ГГ>};
"Лишние" вызовы конструкторов и деструкторов возникают в частности из за того, что ты передаешь объекты в оператор '+' по значению. Это приводит к созданиям промежуточных объектов-копий. Это совершенно не нужно. Предевать следует константные ссылки:
polynom polynom::operator=(const polynom&);
polynom polynom::operator+(const polynom&);
Best regards,
Андрей Тарасевич
Переместить
Удалить
Выделить ветку
Проголосовать
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить
Проголосовать
Заголовок: