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