C++ STL; Реализовать иерархию классов

3 000 руб. за проект
28 января 2022, 18:19 • 3 отклика • 18 просмотров
Здравствуйте! Нужно написать две маленькие программы на C++.

1) Наследование и полиморфизм. Сделать базовый класс Person. Помимо базового класса реализовать не менее 5 производных классов и, по крайней мере, 3
уровня в иерархии (н-р, класс С наследует B, а класс B наследует A).
В каждом классе ввести закрытые поля и открытые методы доступа к полям.
В базовом классе ввести виртуальные методы (н-р, toString, show), в производных классах ввести
переопределения виртуальных методов.
Ввести статические элементы хотя бы в 3 классах (н-р, статическое поле - наибольший рост
человека Human::MaximalGrowth).
В главном модуле (с функцией main) ввести массив указателей на объекты базового класса. Число
элементов массива можно задать константой (N >= 10) или определять динамически в программе.
Заполнить массив объектами разных типов. Выполнить обработку массива объектов для того,
чтобы:

- подсчитать количество объектов каждого типа; для проверки типа объекта в массиве можно
использовать операторы dynamic_cast или typeid;

- вывести информацию по каждому объекту, используя виртуальные методы базового класса (н-р,
show или toString);

- найти объекты, удовлетворяющие условию; например, найти студентов с самым ранним годом
поступления.

Предусмотреть освобождение динамической памяти.

2) Работа с контейнерами и алгоритмами STL.
Сделать базовый класс City. В классе введите по крайней мере три поля разного типа (н-р, int, string, float).
Реализуйте консольное меню для возможности работы с коллекцией объектов (добавление,
удаление и вывод). В качестве коллекции можно использовать контейнер из STL (vector, list, stack,
map и т.п.).
Через консольное меню реализуйте возможность выполнения следующих операций: сортировка
элементов, поиск максимального или минимального элемента (н-р, поиск города с наибольшей
численностью), вычисление агрегированного значения (н-р, суммарное население городов), поиск элемента по заданному названию (н-р, поиск по названию города), поиск элемента,
удовлетворяющего условию (н-р, поиск города с площадью, большей чем 20 000 км2
). Для
реализации операций используйте алгоритмы STL (заголовочные файлы algorithm, functional): sort,
min_element, transform, accumulate, for_each, find_if.

!!!! Пожалуйста, комментируйте код так, чтобы было понятно, что делает каждая строчка!





Отзывы
R50 c701a387b3660183502bf60d5951e3d7
Заказчик
Очень быстро и качественно выполнил работу. Приятный в общении; аккуратный, красивый код. Все прекрасно.
~ 2 года назад
R50 b4d594e2f71f8c25e81d4a72eeca18ad
Фрилансер
Хороший заказчик, добросовестный, вежливый, приятно было иметь с ним дело!
~ 2 года назад