69710

Перевантаження операторів за допомогою дружніх функцій

Лекция

Информатика, кибернетика и программирование

Оператори можна перенавантажувати за допомогою дружніх функцій, які не являються членами класу. Це означає, що дружні функції не отримують неявно покажчик this. Отже, перевантажена операторна функція отримує параметри явно. Таким чином, при перевантаженні бінарного оператора дружня...

Украинкский

2014-10-09

23 KB

0 чел.

Тема 10: Перевантаження операторів за допомогою дружніх функцій

Оператори можна перенавантажувати за допомогою дружніх функцій, які не являються членами класу. Це означає, що дружні функції не отримують неявно покажчик this. Отже, перевантажена операторна функція отримує параметри явно. Таким чином, при перевантаженні бінарного оператора дружня функція отримує два параметри, а при перевантаженні унарного оператора — один. Першим параметром дружньої функції, що перенавантажує бінарной оператор, є його лівий операнд, а другим — правий операнд.

Наступна програма демонструє перевантаження унарного та бінарного операторів за допомогою дружніх функцій.

 

#include <iostream.h>

class car {

int speed;

public:

car(int nSpeed=0) { speed = nSpeed; }

friend car operator+(car lp, car rp);

friend car operator--(car &ob);

};

car operator+(car lp, car rp) {

car temp;

temp.speed = lp.speed + rp.speed;

return temp;

}

car operator--(car &ob) {

ob.speed--;

 return ob;

}

Якщо дружні функції застосовуються для перевантаження операторів інкременту та декременту, їх операнди слід передавати за допомогою посилань. Це необхідно тому, що дружня функція не отримує покажчика this. Оператор "++", наприклад, повинен модифікувати свій операнд. Якщо перенавантажувати цей оператор за допомогою дружньої функції, як завжди, то операнд буде передаватися по значенню. Це означає, що дружня функція не зможе змінити цей параметр. Проте цю проблему можна вирішити, якщо передати операнд дружній функції за допомогою посилання. В цьому випадку всі зміни усередині функції будуть відбиватися на її фактичному параметрі.


 

А также другие работы, которые могут Вас заинтересовать

31139. Архитектура ЭИС 33.93 KB
  ЭИС совокупность организационных технических программных и информационных средств объединенных в единую систему с целью сбора обработки хранения и выдачи необходимой информации предназначенной для выполнения функций управления. ЭИС связывает объект и систему управления между собой и внешней средой через информационные потоки: ИП1 нормативная информация создаваемая государственными учреждениями в части законодательства; поток информации о конъюнктуре рынка создаваемые конкурентами потребителями поставщиками; ИП2 отчетная...
31140. Общая характеристика процесса проектирования ИС 32.86 KB
  Экономикоорганизационные принципы: Принцип эффективности ИС. Принцип стандартизации. Принцип системного подхода. Принцип интеграции.
31141. Технология проектирования ИС 82.83 KB
  Состав компонентов технологии проектирования Таким образом проектирование ИС задается регламентированной последовательностью технологических операций выполняемых в процессе создания проекта на основе того или иного метода в результате чего стало бы ясно не только что должно быть сделано для создания проекта но и как кому и в какой последовательности это должно быть сделано. Методология проектирования ИС предполагает наличие некоторых концепций принципов проектирования реализуемых набором методов проектирования которые в свою очередь...
31142. Понятия и процессы ЖЦ ПО 43.11 KB
  Он охватывает работы по созданию ПО и его компонентов в соответствии с данными требованиями включая оформление проектной и эксплуатационной документации подготовку материалов необходимых для проверки работоспособности и соответствующего качества программных продуктов материалов необходимых для организации обучения персонала и т. Определение компонентов ее оборудования ПО и операций выполняемых эксплуатирующим систему персоналом. Разработка и документирование программных интерфейсов ПО и БД разработка предварительной версии...
31143. Модель ЖЦ 86.63 KB
  Стадия создания ПО это часть процесса создания ПО ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта модели ПО программных компонентов и документация определяемого заданными для данной стадии требованиями. Состав ЖЦ ПО обычно включает следующие стадии: Формирование требований к ПО. TOBE как должно быть модель SIS с устраненными недостатками Результат стадии техникоэкономическое обоснование. Стадии 2 и 3 иногда объединяют в одну и называют технорабочим проектированием или системным...
31144. Структурная парадигма проектирования ИС 61.9 KB
  Основными компонентами диаграмм потоков данных являются: Внешняя сущность это материальный предмет или физическое лицо являющееся источником или приемником информации например заказчики клиенты бухгалтерия. Хранилище данных это абстрактное устройство для хранения информации которую можно в любой момент поместить в него и через некоторое время извлечь причем способы помещения и извлечения могут быть любыми. Хранилище данных может быть реализовано физически в виде микрофиши ящика в картотеке таблицы в оперативной памяти файла...
31145. Состав и содержание работ на предпроектной стадии канонического проектирование ИС 127.82 KB
  Стадия формирования требований к автоматизированной системе главное на этой стадии провести предпроектное обследование и дать техникоэкономическое обоснование целесообразности создания системы. Этап предполагает тесное взаимодействие с основными пользователями системы и бизнесэкспертами. По завершении этой стадии появляется возможность определить вероятные технические подходы к созданию системы и оценить затраты на ее реализацию. Сбор материалов обследования все методы проведения обследования можно объединить в группы по следующим...
31146. Состав и содержание работ на стадиях технико-рабочего проектирование, внедрение, эксплуатации и сопровождения канонического проектирования ИС 15.66 KB
  Технический проект разрабатывается на основе технического задания и эскизного проекта. Стадия Рабочий проект ее главное назначение кодирование или адаптация готовых программных средств составление рабочего проекта. Большую роль для эффективного использования разработанного проекта ИС играет качественная технологическая документация входящая в состав рабочего проекта. При наличии прототипа системы стадии технического проекта и рабочей документации объединяются в одну проектную стадию.
31147. Проектирование пользовательского интерфейса 16.37 KB
  Порядок проектирования меню предусматривает следующую последовательность работ: Проектирование содержания меню; Проектирование форм меню экранная форма. Проектирование содержания меню требует изучения предметной области и обоснования состава задач образующих функциональную часть системы и их иерархической взаимосвязи. Выбор пункта меню может завершаться: Появление на экране меню нижнего уровня; Выполнение команды; Выполнение процедуры процедура ввода вывода информации; Появление заглушки В главном меню следует предусмотреть...