Идея такова. Есть циклический список из с указателями на объекты класса Eater. Он представляет из себя круглый стол. Объект Eater включает в себя атрибуты, отвечающие за состояние объекта. Есть ли в правой или левой руке вилка, есть ли вилки слева или справа. Вообще класс Clist на языке C++ - это структура, являющаяся атрибутом класса Table. Взаимодействие самое элементарное. Захотели взять вилку с одной из сторон - проверили, есть ли она.
Захотели положить - проверили, имеется ли она в руке.
Visual Paradigm ругалась на деструкторную тильду. Поэтому ее пришлось заменить на приставку Del.
В целом идея решения задачи не сложная. Но писанины нужно много.
http://uploads.ru/xDtV1.jpgНаверное стоит подойти с распечаткой?
Пока нет. Ваше решение непонятно. С классом Eater ещё можно согласиться, а назначение Table и Clist не ясно. Почему нет класса вилок?
Обратите внимание: всё, что происходит в этой задаче - это едоки берут вилки со стола. У некоторых едоков может оказаться по две вилки, у других - ни одной. То есть возникают (или не возникают?) отношения между конкретными вилками и едоками. Данный факт следует явно отразить на диаграмме классов, у вас этого нет.
Подсказка: правильное решение данной задачи не зависит от числа едоков и вилок, т.е. число пять можно заменить на любое другое.
В.Тельнов