1) Построить иерархию классов, составными частями которой будут сущности, указанные в индивидуальном варианте(см. ниже).
2) Средствами языка С++ реализовать абстрактный базовый класс, описать чисто виртуальные функции ввода/вывода, реализуемые в производных классах. Чисто виртуальным так же должен быть объявлен деструктор.
3) В абстрактном базовом классе определить указанные для варианта чисто виртуальные функции, реализовать его в производных классах.
4) Создать динамический массив указателей на базовый класс (полиморфный контейнер) и заполнить его рандомно элементами-потомками. Показать использование всех функций для каждого элемента массива.
5) Выполнить указанные в варианте операции над полиморфным контейнером.
Индивидуальный вариант:
Абстрактный базовый класс: Kilometer (километр).
Виртуальные методы: вывод на экран в километрах, определение площади квадрата в километрах.
Классы-потомки: Meter, Centimeter, Decimeter (Метр, Дециметр, Сантиметр) со своими методами определения значений площади в данных единицах.
Для перевода в километр предусмотреть статические переменные.
Операции над полиморфным контейнером:
а) поиск элемента с наибольшим значением;
б) сортировка элементов контейнера по возрастанию.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |