Ключевое слово template в С++ служит для задания шаблонов и служит частью обобщенного программирования, позволяющего использовать в единожды написанной функции аргументы различного типа.
#include <iostream> // cout, endl
using namespace std;
template <typename T> // Объявляем шаблонный тип T
T minimum(const T& lhs, const T& rhs){ // Определяем функцию minimum с аргументами и возвращаемым значением типа T
return lhs < rhs ? lhs : rhs; // Возвращаем наименьший из аргументов (по ссылке)
}
int main(){
cout << minimum<int>(10, -20) << endl; //20 Функция minimum для аргументов int
cout << minimum<char>('a', 'b') << endl; //a Функция minimum для аргументов char
cout << minimum<double>(3.14, 2.78) << endl; //2.78 Функция minimum для аргументов double
}