Версія 2
Додати конструктори по замовчуванню, ініціалізації та деструктори до всіх створених класів. Додати конструктори копіювання до всіх класів крім Годинника і Планувальника. Під час виклику кожного конструктора і деструктора повинно виводитися повідомлення, в якому вказується назва класу і тип викликаного конструктора чи деструктора. Створити об’єкти класів Планувальник і Аеропорт, які автоматично створюють об’єкти-атрибути, зв’язані відношенням композиції. Потрібно передбачити два режими введення даних — з клавіатури і використовуючи стандартні значення. Застосовувати конструктори ініціалізації і по замовчуванню для цих режимів відповідно.
Версія 3
Додати методи-аксесори для атрибутів усіх створених класів. Для атрибутів типу bool застосувати предикатні функції. Використати ітератори та функції утіліти. Рекомендації до виконання: використати функції-утіліти в класі Відділ кадрів для розрахунку величини заробітної платні працівника, застосувати ітератори у всіх процесах, де відбувається перелік об’єктів, наприклад, при маніпуляції з літаками в повітрі та на злітній смузі.
Версія 4
Додати деякі константні та статичні атрибути до класів (або зробити константними чи статичними існуючі атрибути). Рекомендації до виконання: зробити константними всі методи get, зробити статичними та константними максимальну кількість літаків у повітрі та на злітній смузі.
Версія 5
Реалізувати перевантаження операторів для деяких функцій та дружні функції. Рекомендації до виконання: перевантажити операції взаємодії Літака з Диспетчером, в результаті якої літак отримує Дозвіл, перевантажити операції інкрементації та присвоєння класу Годинник.
Версія 6
Реалізувати просте успадкування класів. Рекомендації до виконання: створити клас Літальний засіб, від якого успадковувати клас Літак і Гелікоптер.
Версія 7
Реалізувати множинне успадкування класів. Рекомендації до виконання: створити клас Конвертоплан (аеродинамічний літальний апарат, що дозволяє вертикальний зліт та посадку) і успадкувати його від класів Літак і Гелікоптер.
Версія 8
Реалізувати оброблення виключних ситуацій. Рекомендації до виконання: під час моделювання слід врахувати перевантаження наземних черг, що може привести до аварійних ситуацій. Розгляньте вплив на появу аварійних ситуацій, затримок літаків, переадресації польотів таких чинників, як: розмір черг та інтервал часу між прибуттям літаків. Якщо літак витратив пальне під час очікування посадки, то моделюється аварійне приземлення, і літак видаляється з моделі.
Варіант 10
Версія 1
Здійснити об’єктно-орієнтований аналіз та об’єктно-орієнтоване проектування програми, що моделює роботу автотранспортного підприємства (автопарку). Моделююча програма включає годинник, який на початку моделювання встановлюється в 0, а потім відраховує такти часу до моменту завершення процесу моделювання. Основні події, що відбуваються під час роботи автопарку, такі. Автопарк має певну кількість однакових автомобілів для здійснення перевезень пасажирів. Кожний автомобіль має свій ідентифікаційний номер. Кожний водій є володарем автомобіля. Автопарк працює за попередніми викликами клієнтів. Планувальник програми випадковим чином генерує появу замовлення клієнта. Під час отримання замовлень диспетчер фіксує час його прийому, пункт призначення та адресу клієнта. Замовлення приймаються не раніше, ніж за годину до його виконання. Після отримання замовлення на перевезення диспетчер визначає машину та водія, що будуть виконувати замовлення. Диспетчер здійснює вибір машини за наявності її в даний момент в автопарку. Якщо простоюють декілька машин, то перевагу на виконання замовлення має той водій, котрий знаходиться в стані очікування більший термін. Якщо вільних машин на час отримання диспетчером замовлень нема, то замовлення стає в чергу невиконаних замовлень і чекає моменту виконання. В цьому випадку диспетчер обдзвонює усі машини, що є на маршрутах і шукає таку, яка знаходиться найближче до місця розташування клієнта. Знайдена машина призначається для виконання замовлення. Кожний рейс приносить в касу автопарку певну грошову суму. Після закінчення процесу моделювання планувальник програми виводить на екран суму виручки за день. Окрім того, планувальник програми має виводити на екран повідомлення про події, котрі відбуваються у системі, що моделюється. Результати об’єктно-орієнтованого аналізу подати у вигляді сценарію роботи фізичного об’єкту та переліку іменників, дієслів, що претендують на назви класів, атрибутів і методів класів; результати об’єктно-орієнтованого проектування подати у вигляді діаграм прецедентів, об’єктів і класів. Згенерувати код інтерфейсів класів, побудувати проект (на кожний клас – по два файли: заголовний та срр), додати до проекту код згенерованих класів.
