мент може розташовуватися в будь-якому місці структури, використання списку переважно, оскільки операції вставки і видалення довільного елемента виконуються для списків швидше, ніж для масивів. p align="justify"> Далі виникає нове запитання: як оголосити покажчик на голову списку об'єктивним тов класу Пацієнт - як поле даних класу Палата або як звичайну змінну у функції main ()? Більш кращим представляється перший варіант. У eго користь можна навести такі аргументи. При оголошенні покажчика на голову списку пацієнтів у функції main () логіку обходу всіх елементів списку нам доведеться реалізувати теж всередині основного моделює циклу в функ-ції main (), що сильно порушить її спільність і простоту. Крім того, об'єкт Пала-та не матиме безпосереднього доступу до своїх пацієнтів, і потрібно буде подбати про те, щоб покажчик на голову списку пацієнтів передавати як параметр з методу в метод, починаючи з методу run (). В принципі, нічо-го страшного в цьому немає, але важливо прийняти таке проектне рішення, яке найбільшою мірою відповідає реальним взаємин об'єктів. Доступ палати до пацієнтів повинен бути абсолютно природним і не вимагати ка-ких-то додаткових програмних зусиль.
Підсумуємо наші міркування. В опис класу Палата увійдуть наступні змінні:
В· поточну кількість пацієнтів;
В· покажчик на голову списку об'єктів класу Пацієнт .
В опис класу Пацієнт увійде:
В· поточна оцінка стану;
В· поточну кількість днів, проведених в палаті до справжнього моменту.
Зауважимо, що ми перерахували тільки ті поля даних класу, які змінюються в процесі моделювання. Назвемо такі поля змінюваними. В опис класу увійдуть також незмінні поля, які, будучи призначеними об'єкту при ініціалізації, не змінюються на всьому протязі процесу моделювання. У цьому завданню такими полями є всі перераховані в умові число-ші константа. Розподіляти їх по класах слід так, щоб методи одного класу по можливості не зверталися або зверталися якомога менше до НЕ-змінним полям даних іншого класу. Обраний варіант розподілу буде приведений далі в лістингу програми. br/>
.2 Події та методи
Для класу Палата мінлива, що зберігає поточну кількість пацієнтів, може змінитися в результаті настання одного з двох подій - прибуття і виписки. Покажчик на голову списку може змінитися тільки в тому випадку, якщо відповідний голові списку пацієнт буде виписаний, але така подія логічно не виділяти в окремий метод,...