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


 

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

68260. ПРОБЛЕМА РОЗВИТКУ ТВОРЧИХ ЗДІБНОСТЕЙ МОЛОДШИХ ШКОЛЯРІВ У ХУДОЖНІЙ СПАДЩИНІ УКРАЇНСЬКИХ ПЕДАГОГІВ (др. пол. ХІХ - ХХ ст.) 180.5 KB
  Поліспектральність і багатовекторність процесу відродження національної освіти особливо її початкової ланки висуває специфічні вимоги до всебічного розвитку особистості молодшого школяра на засадах орієнтації на унікальність і неповторність кожної дитини.
68261. ЗАСТОСУВАННЯ ФОТОТЕРМОАКУСТИЧНОГО ПЕРЕТВОРЕННЯ ДЛЯ ЗАДАЧ ДЕФЕКТОСКОПІЇ 2.47 MB
  Мета і задачі дослідження: Розробити теоретичні основи ФТА дефектоскопії шляхом створення математичної моделі яка описує процеси перетворення оптичної енергії в механічну для тришарового пружного пакету до якого прикріплено четвертий пєзопружний шар в стаціонарному режимі...
68262. ІНТЕГРОВАНА СИСТЕМА КОНТРОЛЮ ЕФЕКТИВНОСТІ ВИКОРИСТАННЯ ЕЛЕКТРИЧНОЇ ЕНЕРГІЇ У ВИРОБНИЦТВІ 466 KB
  Метою дисертаційного дослідження є створення методичних основ побудови інтегрованих систем контролю ефективності використання електричної енергії в суспільному виробництві які ґрунтуються на поєднанні удосконалених методик нормування питомих витрат електроенергії та удосконалених систем...
68263. ОСОБЛИВОСТІ НЕОДНОРІДНИХ СТРУКТУР У ФЕРИТ-ГРАНАТОВИХ ПЛІВКАХ 417 KB
  Спінпереорієнтаційний фазовий перехід першого роду від осьової фази до кутової фази відбувається шляхом зародкоутворення нової фази у доменній межі початкової фази. Особливості СПФП пояснено уявленням про зародок нової фази як про статичний солітон розміри якого зростають зі зміною співвідношення між константами анізотропії.
68264. ПРОБЛЕМА ШКІЛЬНОГО ПІДРУЧНИКА У ПЕРІОДИЧНИХ ФАХОВИХ ВІТЧИЗНЯНИХ ВИДАННЯХ (50-ті рр. ХХ ст. – поч. ХХІ століття) 218 KB
  Зміст освіти знаходить своє відображення в шкільних підручниках через що вони теж відповідно змінюються. Однією з багатьох проблем які необхідно розвязати педагогічній науці на сучасному етапі є створення якісного шкільного підручника нового типу за змістом функціями принципами структурування змісту тощо.
68265. Алопластика післяопераційних ускладнених вентральних гриж великих розмірів 262.5 KB
  Однією з найбільш дискутабельних і актуальних проблем планової та ургентної хірургії на сьогоднішній день є лікування й реабілітація хворих на післяопераційні вентральні грижі. Зростання захворюваності на післяопераційні вентральні грижі у першу чергу пов’язано із застосуванням традиційних...
68266. АДМІНІСТРАТИВНЕ СУДОЧИНСТВО У СПРАВАХ, ПОВ’ЯЗАНИХ ІЗ ВИБОРЧИМ ПРОЦЕСОМ 154 KB
  Захист виборчих прав свобод і законних інтересів забезпечується наявністю регламентованої адміністративної та судової процесуальної форми. Судовий порядок вирішення виборчих спорів забезпечує незалежність та неупередженість прийняття рішень гарантує їх обєктивність.
68267. Діалогічність свята (на прикладі культури народів Криму) 130 KB
  Актуальність дослідження свята як культурної форми зумовлена тим що воно завжди несе в собі позитивну емоційночуттєву компоненту що сприяє створенню справжньої конструктивної діалогічності як основи реалізації принципів толерантності та добросусідства.
68268. МОДЕЛІ БЕЗПЕКИ У ЧОРНОМОРСЬКОМУ РЕГІОНІ В СУЧАСНИХ МІЖНАРОДНО-ПОЛІТИЧНИХ КОНЦЕПЦІЯХ 161.5 KB
  Роль ЧР у світовій політиці і глобальній економіці є великою але при цьому складається загрозлива ситуація вакууму безпеки що актуалізує вивчення підходів дослідників різних країн до проблем безпеки в Причорномор’ї; пріоритетів зовнішньої політики України...