## Условие
- Сделать структуры
BaseиChild; - Структура Base должна содержать строковое поле name;
- Структура
Childдолжна содержать строковое полеlastName; - Создать функцию
Sayу структурыBase, которая распечатывает на экране:Hello, %name!; - Пронаследовать
ChildотBase; - Инициализировать экземпляр
b1Baseи присвоитьnameзначениеParent - Инициализировать экземпляр
c1Child, присвоитьnameзначениеChildи присвоитьlastNameзначениеInherited; - Вызвать у обоих экземпляров метод
Say; - Переопределить метод
Sayдля структурыChild, чтобы он выводил на экран:Hello, %lastName!; - Сделать массив, содержащий
b1иc1; - Вызвать
Sayу всех элементов массива из шага 10; - Сделать метод
NewObjectдля создания экземпляровBaseиChildв зависимости от входного параметра; - Написать юнит тесты для метода
NewObject; - Сделать генератор объектов
BaseиChildтакой, чтобы: объектыBaseсоздавались в фоновом потоке с задержкой 1 секунда; объектыChildсоздавались в фоновом потоке с задержкой 2 секунды; общее время генерации объектов не превышало 11 секунд. - Сделать асинхронный обработчик сгенерированных объектов такой, чтобы: метод
Sayвызывался в порядке генерации объектов; не приводил к утечкам памяти.
Решение
Заголовок раздела «Решение»Источник: SberInfra / СберИнфра · 1 кв 2025