19826

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

Доклад

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

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

Украинкский

2013-07-17

23.5 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

48292. Множества. Число элементов множества. Подмножество 3.84 MB
  Подмножество. Задачи: образовательные: познакомить детей с понятиями множество элемент множества подмножество; научить определять число элементов множества; учить определять принадлежность элементов к заданному множеству. И сегодня мы познакомимся с понятием множество. Определение понятия множество.
48293. Теория финансов 453.62 KB
  Объектом финансовых отношений является валовой внутренний продукт то есть стоимость товаров и услуг изготовленных субъектами экономических отношений в сфере материального и невещественного производства за определенный период времени. Субъектами финансовых отношений выступают: государство; юридические лица; физические лица. Контрольная функция финансов предопределяется объективно присущей им способностью количественно отображать движение финансовых потоков и обеспечивать контроль за соблюдением пропорций в распределении валового...
48295. Русский язык. Грамматическое учение о слове 37.5 KB
  Смысловая структура слова. Понимание категории слова и содержание категории слова исторически менялись. Структура слова неоднородна в языках разных систем и на разных стадиях развития языка. Лингвисты избегают давать определение слова или исчерпывающее описание его структуры ограничиваясь лишь описанием некоторых внешних фонетических или внутренних грамматических или лексикосемантических признаков слова.
48296. ФИЗИКА ЭЛЕКТРОМАГНЕТИЗМА 2.28 MB
  В пособии рассматриваются в последовательном порядке различные состояние электромагнитного поля и его различные физические проявления в стационарных и нестационарных условиях а так же его релятивизм. Взаимодействие электромагнитного поля с веществом рассмотрено как взаимодействие с частицами и как взаимодействие со сплошной средой. Состояние самого электромагнитного поля и важнейшие особенности его взаимодействия с веществом рассматриваются в пособии на основе фундаментальных законов главным образом на основе уравнений Максвелла и законов...
48297. Предмет электродинамики 2.88 MB
  Полярные системы связанных зарядов В полярной системе заряды противоположных знаков разобщены а сама система электронейтральна. Носителями полярных зарядов могут быть частицы вещества атомы молекулы элементы кристаллической решётки а также макроскопические тела. Главной характеристикой полярной системы является её электрический момент . Это векторная величина через которую выражается взаимодействие полярной системы с электрическим полем.
48298. Економіка підприємства 1.43 MB
  Інноваційноінвестиційна діяльність підприємства. Витрати підприємства. Результативність діяльності підприємства. Антикризова діяльність підприємства.
48299. Фінанси. Конспект лекцій 482.5 KB
  Фінансова система України охоплює такі ланки фінансових відносин: державну бюджетну систему; спеціальні позабюджетні фонди; державний кредит; страхування; фінанси підприємств різних форм власності. У відповідності до закону України Про бюджетну систему України та інших нормативних актів бюджетна система складається з: державного бюджету; місцевих бюджетів бюджету Автономної республіки Крим та інших місцевих бюджетів обласний міський районний селищний сільський.
48300. КОНТРОЛЬ І РЕВІЗІЯ У ПРОМИСЛОВОМУ ПІДПРИЄМНИЦТВІ 563.5 KB
  Розглянуто особливості контролю і ревізії промислового підприємництва у сучасних умовах. Рекомендовано для студентів аспірантів та викладачів економічних спеціальностей вищих навчальних закладів фахівців у галузі контролю та ревізії. Органи ДКРС мають право проводити ревізії і перевірки субєктів підприємницької діяльності лише за постановою правоохоронних органів. ОРГАНІЗАЦІЯ ПРОВЕДЕННЯ РЕВІЗІЇ ТА КОНТРОЛЮ ПРОМИСЛОВОГО ПІДПРИЄМНИЦТВА Основні питання: 1.