Допустим, у меня есть векторы различных объектов, скажем, D
имеет тип vector< Dog >
, а R
имеет тип vector< Rock >
.Можно ли использовать шаблоны, чтобы я мог автоматически вызывать все функции-члены на векторах?Т.е. если Dog
имеет функцию Bark()
, я хочу, чтобы D.bark()
заставлял всех собак лаять.
Теперь ясно, что я мог бы вручную написать это поведение с помощью новой функции и простого цикла, но есть ли простой способ его шаблонизировать?Т.е. так, что R.smash()
разбивает все камни без того, чтобы я когда-либо явно кодировал этот цикл.Я пытаюсь представить, какой будет синтаксис, и он просто поражает.