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