енив локальный временный объек

Автор admin Понедельник, 18 мая 2009 11:32

енив локальный временный объект класса CCurrency неявным временным объектом. CCurrency operator+ (CCurrency Curr) { return CCurrency (Dollars + Curr.Dollars. Cents + Curr.Cents); } При вызове конструктора класса компилятор создает временный объект класса. Функция operator+ возвращает содержимое этого временного объекта. Функцию operator+ можно реализовать более эффективно, передавая ей ссылку на объект класса CCurrency, а не сам объект. Передача ссылок исключает необходимость копирования объекта в локальный параметр, что особенно важно для объектов больших размеров. Следующий фрагмент программы является окончательной версией функции operator+. Дружественные функции и классы 491 CCurrency operator+ (const CCurrency &Curr) { return CCurrency (Dollars + Curr.Dollars. Cents + Curr.Cents); } Использование спецификатора const при объявлении параметра – гарантия того, что функция не изменит значение параметра. Дружественные функции и классы_ Подобно другим функциям языка С++, функции-операторы могут быть перегружены. Существует несколько способов вызова операторов. Например, с помощью оператора + можно сложить


Комментарии закрыты.