19826

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

Доклад

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

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

Украинкский

2013-07-17

23.5 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

75076. Курить или не курить? 92.5 KB
  Выявить содержание вредных веществ в фильтре сигарет после выкуривании. Сравнить отдельные виды сигарет по содержанию вредных веществ. Объект исследования: Литература описывающая вредное влияние сигарет сигареты отдельных марок.
75077. Репрессии на Дальнем Востоке 228.5 KB
  Ближе к началу 21-го века тема ГУЛАГа исследуется как социально-экономический феномен советского государства рассматриваются его роль и место в жизни советского общества использование труда заключенных для выполнения планов индустриализации и политико-правовое обоснование этого процесса.
75078. Исследовательская и проектная деятельность школьников в современной школе 64.5 KB
  В поисках наиболее активных форм обучения и личностной ориентации образования педагоги все чаще обращаются к учебно-исследовательской и проектной деятельности школьников обеспечивающей их соучастие в истине: адекватную традиционному предметному преподаванию степень авторства...
75079. ИССЛЕДОВАНИЕ СВОЙСТВ ИНДИКАТОРОВ ПРИРОДНОГО И СИНТЕТИЧЕСКОГО ПРОИСХОЖДЕНИЯ 947 KB
  Цель работы: Исследование свойств синтетических индикаторов, применяемых в школьной лаборатории, и полученных из соков и отваров цветов, овощей, ягод, изучение характера среды с их помощью. Гипотеза: растворы растительных индикаторов можно приготовить самостоятельно и применять...
75081. Сказка – ложь, да в ней намёк – добрым молодцам урок 102.5 KB
  Нравственная составляющая сказки стала вектором в жизненном пространстве человека: она даёт уроки ненавязчиво исподволь приглашая к диалогу а может быть и полилогу. Меняется ли при этом наше отношение а точнее прочтение сказки и постижении е её глубинного смысла...
75082. Сравнительный анализ британского и американского вариантов английского языка 69.5 KB
  Цель работы заключается в систематизации основных отличий британского и американского вариантов английского языка. Цель работы определила следующие задачи: рассмотреть историю формирования американского варианта английского языка; определить грамматические и лексические различия...
75083. Учебно-исследовательская деятельность при изучении немецкого языка 58.5 KB
  Ценность исследовательской работы заключается в том что ученик и учитель учатся в процессе совместной деятельности в самом широком смысле. Применяя элементы исследовательской деятельности на уроках и во внеурочной деятельности считаю необходимым решение таких задач...
75084. Народная медицина малочисленных народов Приамурья и Сахалина 664 KB
  Суровый климат Приамурья и Сахалина подвергал человека тяжелым испытаниям: требовал от него предельного напряжения физических и моральных сил для выживания, в то же время суровая природа формировала сильный характер и особое мировосприятие.