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


 

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

75645. Особенности фонетических ориентировок у детей с речевой патологией 20.41 KB
  Особенности фонетических ориентировок у детей с речевой патологией Актуальные проблемы механизмов и структуры нарушений устной и письменной речи: материалы междунар. Функционирование фонетического чутья позволяет ребёнку улавливать правильность фонетического оформления речи дифференцировать нормативное...
75646. Формирование невербальных основ речи в доречевой период 282.28 KB
  Формирование невербальных основ речи в доречевой период Инновационные подходы к профилактике нарушений развития Под ред. Человека впервые заинтересовавшегося вопросом развития речи ребёнка может удивить и обескуражить выбранное нами название. Основы для развития речи закладываются задолго до того когда будут произнесено первое слово. Учёные наблюдавшие за развитием младенцев находящихся в разных социальных условиях смогли выделить невербальные неречевые факторы определяющие интенсивность и качество развития речи малыша.
75647. Амвросова О.А. Рефлексия в общении как условие социализации дошкольников с общим недоразвитием речи 39.82 KB
  Основные подходы к исследованию рефлексии В рамках философского подхода рефлексия рассматривается как процесс размышления индивида о происходящем в его собственном сознании. Уже у Аристотеля Платона и позже у средневековых схоластов можно найти много глубоких рассуждений касающихся разных сторон того что сейчас относится к рефлексии все же принято считать что основной и специфический круг проблем связываемых сегодня с этим понятием зарождается лишь в новое время а именно благодаря полемике...
75648. О доминирующих мотивах деятельности детей старшего дошкольного возраста с нарушениями речи 21.09 KB
  В отечественных и зарубежных логопедических исследованиях уделяется много внимания вопросам объема, характера и качества речевых навыков, знаний, которые должны быть усвоены детьми с недоразвитием речи. Однако такой важнейший компонент деятельности, как мотивация
75649. Отношение дошкольников с ОНР к социальным нормам и правилам поведения как показатель их социального развития 31.68 KB
  Социальное развитие детей с недоразвитием речи должным образом не формируется О. В силу специфики речевого нарушения у детей ограничены контакты со взрослыми и сверстниками полноценно не осуществляется процесс общения что значительно осложняет социализацию детей. В поведении детей с ОНР отмечается ряд специфических особенностей: большое число конфликтов неумение договариваться учитывать интересы других уступать в спорах наличие рассогласования в реальном и декларируемом поведении....
75650. К вопросу о проблеме социально-психологической готовности детей с общим недоразвитием речи к обучению в школе 42 KB
  Поступление в школу является переломным моментом в жизни каждого ребенка, особенно резким в социально-психологическом статусе, так как ему приходится переходить к новым условиям деятельности, новому положению в обществе, новым взаимоотношениям со взрослыми и сверстниками
75652. Угрозы социальному развитию детей с ограниченными возможностями здоровья в дошкольном, младшем школьном и подростковом возрасте 68.84 KB
  Угрозы социальному развитию детей с ограниченными возможностями здоровья в дошкольном младшем школьном и подростковом возрасте Вестник Череповецкого государственного университета: Научный журнал. Социальное развитие детей заключающееся в усвоении социального опыта и социальных связей определяется социальной средой её качественными и количественными характеристиками. Ограниченные возможности здоровья оказывают влияние на разные компоненты социального развития детей. Общая закономерность развития детей с ОВЗ заключается в затруднениях...
75653. Особенности понимания и отражения в речи причинно-следственных отношений детьми дошкольного возраста с ОНР 81.5 KB
  Причинно-следственные отношения - одна из важнейших семантических категорий естественных языков. Причина и следствие образуют диалектическое единство