создаёте шаблон (метод или класс) с каким-нибудь классом, то вы должны реализовать что-то, что используется внутри этого шаблона, т.е.иметь некий контракт с человеком, который эти шаблоны реализует.
чем это отличается от использования интерфейсов?
Вообще-то, шаблоны отлично используются совместно с интерфейсами. IMHO, когда тебе понадобиться использовать шаблоны - сам поймешь, для чего они (у них много способов использования). Ну, а пока в реальной задаче это не понадобилось, объяснять особого смысла нет.
Можешь пока упрощенно думать, что шаблон функции/класса - это макрос, который на этапе компиляции превращается в функцию/класс. К функциям/классам претензии есть?
Обсуждают сегодня