19826

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

Доклад

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

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

Украинкский

2013-07-17

23.5 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

44612. Переключение соединений 62 KB
  Различают два основных способа переключения соединений: переключение цепей каналов; переключение пакетов. Переключение цепей создает единое непрерывное соединение между двумя сетевыми устройствами. Переключение цепей.
44613. Способы организации передачи данных между ПК 80 KB
  Схему параллельного соединения можно иллюстрировать: Параллельное соединение Как видно из рисунка параллельное соединение по восьми проводам позволяет передать байт данных одновременно. Напротив последовательное соединение подразумевает передачи данных по очереди бит за битом. Соединение бывает: симплексное полудуплексное и дуплексное. О симплексном соединении говорят когда данные перемещаются только в одном направлении Полудуплексное соединение позволяет данным перемещаться в обоих направлениях но в разное время.
44614. Основные характеристики ВС 29 KB
  Основными характеристиками ВС являются: операционные возможности сети; временные характеристики; надежность; производительность; стоимость. Операционные возможности сети характеризуются такими условиями как: предоставление доступа к прикладным программным средствам БД БЗ т.; удаленный ввод заданий; передача файлов между узлами сети; доступы к удаленным файлам; выдача справок об информационных и программных ресурсах; распределенная обработка данных на нескольких ЭВМ и т. Временные характеристики сети определяют...
44615. Древний Египет 74.5 KB
  Древний Египет План Особенности развития государства и общества. Деспотия Форма государства в странах Древнего Востока. С возникновением государства обычай и стал источником права. Восточная деспотия форма государства при которой глава государства обладающий всей полнотой власти обожествляется управление осуществляется с помощью чиновников а население несет различные государственные повинности.
44616. Древний Рим 95.5 KB
  Основные понятия Квестор Должностное лицо магистрат выполнявший судебные функции в раннереспубликанский период а позднее ведавшее казной архивом; помощник правителя провинции. Квириты Коренные жители римской общины члены курий в период формирования римского государства; имели привилегированное правовое положение исключительно носители квиритского права квиритской собственности и т. Колонат Форма зависимости сельского населения от крупных землевладельцев сдавших участки земли арендаторам колонам периода домината. Комиции...
44617. Древняя Индия 72.5 KB
  Индостан и образовавшие первые государства. Развитие государства Древней Индии имеет особенности отличающий его от других стран Востока. Форма государственного устройства всего Древнего Востока Восточная деспотия Индии имела особенность – власть правителя была ограничена индийской общиной некоторая коллегиальность управления; Существенное влияние на развитие государства оказала религия. Центральная власть Глава государства царь власть которого обожествлялась.
44618. Спарта в период рабовладельческой аристократической республики (VIII в. до н.э. - середина II в. до н.э.) 60.5 KB
  Возникновения государства. Илоты Жители побежденных лаконийских племен превращенные в рабов были собственностью государства. Возникновения государства. Победа Спарты над Афинами в Пелопоннесской войне привел к появлению роскоши развитию товарноденежных отношений и гибели Спарты как военизированного аристократического рабовладельческого государства во II в.
44619. Афинское государство (VIII-IV вв. до н.э.) 105 KB
  Основные понятия Ареопаг Высший орган государственной и судебной власти в Афинах. Булевты Члены Совета пятисот булэ в Древних Афинах в компетенции которого находились вопросы управления внешних сношений финансов государства. Гелиасты Члены судебной коллегии гелиэи в Древних Афинах. Демы Территориальные округа в Древних Афинах со времен реформы Клисфена.
44620. Древний Вавилон 72 KB
  Законы Хаммурапи. Законы Хаммурапи Сборник законов Древнего Вавилона названный именем царя Вавилона. Мушкенум Жители покоренных Хаммурапи областей. Хаммурапи Царь Вавилона в период правления которого XVIII в.