DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Реалізація ієрархії в мові С++. Множинне успадкування

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2020
Тип роботи:
Інші
Предмет:
Інформаційні технології

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” І Н С Т Р У К Ц І Я до лабораторноі работи № 4 Реалізація ієрархії в мові С++. Множинне успадкування. з курсу "Методи та засоби об’єктно-орієнтованого проектування " для студентів спеціальності 7.080402 - "Інформаційні технології пректування" ЗАТВЕРДЖЕНО: на засіданні кафедри САПР Протокол № 14 від 3.04.1997 р. Львів -2001 1. МЕТА РОБОТИ Мета даної роботи є ознайомлення із принципами множинного успадкування. 2. ТЕОРЕТИЧНА ЧАСТИНА Ієрархію простого успадкування можна описати, використовуючи структуру дерева, де кожен вузол - це підклас, який може породжувати довільну кількість додаткових підкласів. Як і у випадку простого успадкування, визначення private, protected i public в батьківському класі можна використовувати для управління доступом до екземплярів змінних і методів, які успадковані похідним класом (підкласом) від базового (батьківського) класу. Крім того, специфікатори public - або private - похідного класу, як і при простому успадкуванні, визначають кожні класи, об’єкти яких мають прямий доступ до відкритих даних або функцій-членів базового класу. Множинне успадкування реалізовано у версіях С++, починаючи з 2.0. Підклас може успадковувати протокол одного або більше батьківських класів. При цьому, помимо специфікаторів public- і private- похідних класів використовується додаткова опція virtual. Приклад опису класів при множинному успадкуванні: class X1 {private: d1; m1; protected d2; m2; public: d3; m3; }; class X2 {private: d4; m4; protected d5; m5; public: d6; m6; }; class Z: public X1 , public X2 {private: zd1; zm1; protected zd2; zm2; private: zd3; zm3; }; Похідний клас в ієрархії множинного успадкування не має доступу до захищених екземплярів змінних любих його базових класів. При використанні множинного успадкування , в протокол похідного класу необхідно викликати конструктори базових класів для ініціалізації полів даних та ініціалізувати різні елементи об’єктів. Порядок виклику конструкторів: Ініціалізація здійснюється в порядку, визначеному ініціалізуючим списком з тим обмеженням, що конструктори базових класів завжди викликаються перед конструктором полів даних. Void - конструктори базових класів, які явно не вказані в списку ініціалізації, викликаються після конструкторів, явно ініціалізованих базових класів, в цьому порядку, в якому вони йдуть в оголошенні класу. Але void - конструктори викликаються перед любим конструктором полів даних. Для опису ієрархії множинного успадкування можна використати прямий ациклічний граф (ПАГ) (рис.1). Parent Child1 Child2 GrandChild Рис.1. ПАГ множинного успадкування В такому графі клас може з’явитись більше, ніж один раз. Розглянемо ПАГ множинного успадкування, представлений на рис.1. Елементи даних (екземпляри змінних) класу Parent з‘являються двічі в класі GrandChied. Перший набір успадковується через Chid1, другий через Chid2. Таке успадкування буває небажаним. Віртуальні базові класи [3,4,5] забезпечують механізм для уникнення дублювання елементів в класі, такому як GrandChied. 4. ЛАБОРАТОРНЕ ЗАВДАННЯ Одержати індивідуальне завдання. Із похідних класів, отриманих у лаб.роботі №3, шляхом множинного успадкування, утворити новий клас. Для об’єктів даного класу показати всі можливі механізми доступу до протоколів базових класів. 5. ЗМІСТ ЗВІТУ Мета роботи. Короткий опис особливостей множинного успадкування в С++. Індивідуальне завдання. Текст програми на С++. Результати виконання програми. Аналіз результатів, висновки. 6. СПИСОК ЛІТЕРАТУРИ Касаткин А.И., Вальвачев А.Н. Профессиональное програмирование на языке Си: От Turbo к Borland C++:Справ. пособие; Под общ. ред. А..И.Касаткина. - Мн.:Выш.шк. -1992 Бьярн Страуструп Язык програмирования С++ Т.1,:Киев “ДиаСофт”. -1993 Ричард Вайнер, Люис Пинсон С++ изнутри. -Киев: Диасофт. -1993. Стефан Дьюхарст, Кэти Старк Программирование на С++. -Киев: Диасофт. -1993. Скляров В.А. Язык С++ и обьектно-ориентированное программирование. -Мн.: Высш.шк. -1997.
Антиботан аватар за замовчуванням

20.07.2020 13:21

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!