19826

Організація зовнішнього доступу до локальних компонентів класу (специфікатор friend)

Доклад

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

Організація зовнішнього доступу до локальних компонентів класу специфікатор friend. Технологія об'єктноорієнтованого програмування дає змогу організувати до ступ до закритих членів класу функціями які не є його членами. Для цього дос татньо оголосити ці функції др...

Украинкский

2013-07-17

23.5 KB

1 чел.

Організація зовнішнього доступу до локальних компонентів класу (специфікатор friend).

Технологія об'єктно-орієнтованого програмування дає змогу організувати до-

ступ до закритих членів класу функціями, які не є його членами. Для цього дос-

татньо оголосити ці функції дружніми до цього класу. Щоб зробити функцію

"другом" класу, потрібно помістити її прототип в public-розділ оголошення класу і

попередити його ключовим словом friend. Існують пе-

вні обставини, при яких статус "дружньої" функції класу має велике значення. По-перше, функції-"друзі" є корисними для перевизначення операторів певних типів.

По-друге, функції-"друзі" спрощують створення деяких функцій введення-виве-

дення. Усі ці питання розглядатимемо згодом у цьому навчальному посібнику.

Третя причина частого використання функцій-"друзів" полягає у тому, що в

деяких випадках два (або більше) класи можуть містити члени, які перебувають у

взаємному зв'язку з іншими частинами програми. Наприклад, у нас є два різні кла-

си, які під час виникнення певних подій відображають на екрані "спливаючі" повідомлення.

Інші частини програми, які призначені для виведення даних на екран,

повинні знати, чи є "спливаюче" повідомлення активним, щоб випадково не пере-

записати його. Для уникнення цього у кожному класі можна створити функцію-

члена, що повертає значення, за якою робляться висновки про те, є повідомлення

активним чи ні. Однак перевірка цієї умови вимагатиме додаткових витрат (тобтодвох викликів функцій замість одного). Якщо статус "спливаючого" повідомлення

необхідно перевіряти часто, то ці додаткові витрати можуть виявитися відчутни-

ми. Проте за допомогою функції, "дружньої" для обох класів, можна безпосе-

редньо перевіряти статус кожного об'єкта, викликаючи для цього тільки одну і ту саму функцію, яка матиме доступ до обох класів. У таких ситуаціях "дружня" функція класу дає змогу написати більш ефективний програмний код. 


 

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

66092. Золотовалютные резервы (Франция, Англия, США, Германия, Япония) 2007-2011 64.5 KB
  Пересчет в доллары США осуществляется на основе официальных обменных курсов иностранных валют к российскому рублю. Ранее государственные резервы создавались в золоте но по результатам конференции в Бреттон-Вудсе Соединённые Штаты Америки обеспечили поддержку доллара США...
66095. Золотовалютные резервы (международные резервы или официальные резервы) 29.33 KB
  Международные резервы Российской Федерации представляют собой высоколиквидные иностранные активы имеющиеся в распоряжении Банка России и Правительства России по состоянию на отчётную дату. Часть Резервного фонда Российской Федерации и Фонда национального благосостояния...
66098. Основные виды безработицы. Формы её проявления 299 KB
  Безработными признаются граждане которые: а являются трудоспособными; б не имеют работы и заработка при этом не учитывается выходное пособие и средний заработок выплачиваемые при высвобождении с предприятий а также оплата за выполнение общественных работ по направлению службы занятости...
66099. Внешний долг Российской Федерации 136.5 KB
  По относительным показателям российский внешний госдолг составляет 510 от объема ВВП страны. По данным рейтингового агентства Moody's внешний долг РФ остается очень низким в пределах 10 к ВВП страны. Так после распада СССР внешний долг России неуклонно...