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