Автор - МОЙ1МЮЛЛЕР

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. Для этого разрешается использовать (экспортировать библиотекой) глобальную переменную с общим количеством существующих на данный момент экземпляров военных.

Ответ

Автор - Dreamer777

Ответ:

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

Объяснение:

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2026 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation