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