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


 

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

25030. Характеристика информационных, имиджевых и корпоративных PR-документов 35.5 KB
  Бэкграундер справочная информация по теме информация о компании статистика которая может быть использована СМИ при подготовке материалов. Самостоятельный документ направляется в СМИ или входит в состав пресскита; Справочная информация о компании и входит в состав прессрелиза. Бэкграундер содержит информацию о профиле работы компании о ее продуктах услугах успехах о новых направлениях деятельности. Структура бэкграундера: История и этапы развития компании Легенда Современное состояние Спонсорские программы Кризис и выход из...
25031. Виды рабочих мероприятий связей с общественностью: презентация, прием, выставка 23.79 KB
  Обычно все презентации подчиняются логической схеме: Встреча представление гостей и участников со стороны организации. Мини прессконференция всем представителям организации предоставляется слово для краткого выступления примерно 25 минут. Презентация общественной организации фирмы акционерного общества корпорации и т. Целью такой презентации прежде всего является создание имиджа этой организации.
25032. Формы взаимодействия связей с общественностью со СМИ: пресс-прием, пресс-конференция, пресс-тур 30.09 KB
  Формы взаимодействия связей с общественностью со СМИ: прессприем прессконференция пресстур Существует несколько разновидностей прессмероприятий каждое из которых имеет свои отличительные признаки способы воздействия и границы применения. Прессприем Прессприем неформальное мероприятие с относительно произвольным сценарием. Может проходить в формате прессланча или прессужина. Прессланч специальное событие с участием первых лиц компании и ограниченного числа журналистов которые поддерживают постоянные контакты с организацией и...
25033. Управление кризисными ситуациями как функция связей с общественностью 30.35 KB
  Управление кризисными ситуациями как функция связей с общественностью Управление кризисными ситуациями представляет собой многогранный процесс который охватывает и объединяет различные сферы деятельности человека. Но если разразился кризис то становится очевидным что всё протекает не так как виделось ранее и каждый раз совершенно поиному. Кризис как явление настолько многогранен что его изучением занимаются представители различных научных направлений: историки политологи психологи философы экономисты юристы. Более того специально...
25034. Медиа-аспекты стратегии PR-кампании 28.31 KB
  Медиаплан должен быть: достоверным составленным на основе проверенных и тщательно отобранных экономических и статистических данных; самодостаточным подготовленным и использованным по назначению и в нужное время; достаточным содержащим в себе определенное количество информации объясняющей выбор тех или иных СМИ и их приоритетное использование; понятным и доступным для восприятия. Качественно разработанный медиаплан позволяет: разработать последовательный план работы со средствами массовой информации внести необходимые коррективы на...
25035. PR в комплексе интегрированных маркетинговых коммуникаций 21.24 KB
  PR в комплексе интегрированных маркетинговых коммуникаций В последнее десятилетие в мире более активно стали разрабатываться и использоваться интегрированные маркетинговые коммуникации ИМК. Таким образом интегрированные маркетинговые коммуникации ИМК объединяют в себе все типы рыночных маркетинговых коммуникаций: рекламу связи с общественностью прямой маркетинг стимуляцию сбыта брендкоммуникации и др. Маркетинговые коммуникации marketing communications совокупность технологий продвижения товаров или услуг к которым принято...