-
Автор темы
- #1
Раз уж пошел тред на плюсовые задачки, то вот одна от меня, хоть как-то синтаксис С++ затрагивает.
1) С помощью CRTP реализовать статический полиморфизм. От интерфейса Vehicle с методом beep, выводящим что-либо в stdout, унаследовать два класса, Bike и Car, реализующие свои версии beep.
2) Поместить экзмепляры классов Bike и Car в один вектор
3) Обойти вектор и вызвать методы beep каждого элемента вектора
Задача не очень сложная, но достаточно необычная, поэтому ниже есть подсказки
1) С помощью CRTP реализовать статический полиморфизм. От интерфейса Vehicle с методом beep, выводящим что-либо в stdout, унаследовать два класса, Bike и Car, реализующие свои версии beep.
2) Поместить экзмепляры классов Bike и Car в один вектор
3) Обойти вектор и вызвать методы beep каждого элемента вектора
Задача не очень сложная, но достаточно необычная, поэтому ниже есть подсказки
1) Как и писал выше, cтатический полиморфизм можно реализовать с использованием CRTP
2) Нужно сделать гетерогенный вектор, в этом может помочь std::variant
3) Возможно, стоит посмотреть на std::visit, а сам визитор унаследовать от нескольких лямбд
2) Нужно сделать гетерогенный вектор, в этом может помочь std::variant
3) Возможно, стоит посмотреть на std::visit, а сам визитор унаследовать от нескольких лямбд