This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:object_oriented_programming:practice [2017/04/23 21:19] korolev |
courses:object_oriented_programming:practice [2022/12/10 09:08] (current) |
||
---|---|---|---|
Line 26: | Line 26: | ||
===== Полиморфная логика ===== | ===== Полиморфная логика ===== | ||
- | Объединить предыдущие работы в приложении, использующем логику полиморфного хранения объектов. | + | Объединить предыдущие работы в приложении, использующем логику полиморфного хранения объектов. Необходимо сгененрировать контейнер из 1000 фигур, которые хранятся как shared_ptr<Shape>, и применить к ним 2 стандартных алгоритма по вариантам. В качестве предиката использовать предикат из дополнительного задания 2-й лабораторной. |
+ | |||
+ | <color #ed1c24>UPDATE</color> (15.05.17). Если вы считаете, что вашу функцию из 2-й лабораторной невозможно использовать в качестве критерия для индивидуального задания (например, если она возвращает что-то отличное от булевых или числовых значений), то необходимо самостоятельно придумать предикат, __использующий вируальные функции__ в дереве классов. | ||
+ | Пример: а) сортировка фигур в порядке возрастания их площади, | ||
+ | б) отбор фигур, пересекающихся с заданной эталонной фигурой, | ||
+ | в) замена фигур, периметр которых меньше определённого порога, на окружность единичного радиуса. | ||
+ | |||
+ | Описание вашего вашего задания приложить в виде файла README. Корректность алгоритмов доказать с помощью юнит тестов и/или ручного тестирования. В случае юнит-тестов тестирование достаточно провести для контейнера небольшого размера (5-10) заданных фигур. | ||
Варианты индивидуальных заданий: | Варианты индивидуальных заданий: |