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