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