c++ Необходимо реализовать библиотеку, экспортирующую следующие классы: 1. Интерфейс IMilitaryMan (военный), содержащий виртуальный деструктор и единственный чисто-виртуальный метод void Serve() (служить). 2. Класс Soldier (солдат), наследующий IMilitaryMan и реализующий его интерфейс. Реализация метода Serve() должна увеличивать количество выполненных поручений солдатом. В конструкторе класса должно устанавливаться начальное количество поручений (jobCount) солдата, равное 0. 3. Класс Officer (офицер) наследующий IMilitaryMan и имеющий подчинённых. Военные (как офицеры, так и солдаты), находящиеся в подчинении офицера, передаются ему в конструкторе в виде массива. Реализация метода Serve() должна делегировать выполнение поручения подчинённым. Деструктор класса Officer должен выполнить освобождение подчинённых. Необходимо реализовать как минимум следующие тесты для проверки классов Soldier и Officer: 1. Создать экземпляр класса Soldier, присвоить его переменной militaryMan типа IMilitaryMan & и убедиться, что при вызове метода militaryMan.Serve() будет увеличено количество выполненных поручений у солдата. 2. Создать экземпляр класса Officer с экземплярами классов подчинённых ему военных: двух солдат и одного офицера, у которого в подчинении находится ещё четыре солдата. Присвоить созданный экземпляр класса Officer переменной militaryMan типа IMilitaryMan & и убедиться, что при вызове метода militaryMan.Serve() у всех шести солдат будет увеличено количество выполненных поручений. 3. Убедиться, что деструкторы подчинённых вызываются при вызове деструктора Officer. Для этого разрешается использовать (экспортировать библиотекой) глобальную переменную с общим количеством существующих на данный момент экземпляров военных.

Есть ответ
12.12.2022
333

Ответ


Ответ:
Слишком коротко. Напишите минимум 20 символов, чтобы объяснить все.
Объяснение:



Если вы нашли правильное решение, вы можете поблагодарить нас начиная с 10 рублей.
Просто нажмите на кнопку "Подарить".
12.12.2022
Этот сайт использует cookies (Политика Cookies). Вы можете указать условия хранения и доступ к cookies в своем браузере.