🔩Шаблоны функции
Шаблоны функций - позволяют определять функции, которые не зависят от конкретных типов данных. Нам не нужно писать множество перегрузок функций, шаблон сам подберет нужный тип данных
template <typename T> // шаблон
T sum(T a, T b)
{
return a + b;
}
template
- шаблон
<typename T>
- Это параметр типа. Он указывает, что T может представлять любой тип данных
T
- имя типа
template <typename T> // шаблон
T sum(T a, T b) // функция
{
return a + b;
}
int main() {
int num1 = 5, num2 = 10; // целые
cout << "Сумма целых чисел: " << sum(num1, num2) << endl;
double num3 = 2.5, num4 = 3.7; // дробные
cout << "Сумма чисел с плавающей точкой: " << sum(num3, num4) << endl;
string str1 = "Hello", str2 = " World!"; // строки
cout << "Сумма строк: " << sum(str1, str2) << endl;
}
функция sum может работать с любыми типами данных, которые мы зададим при ее вызове.
Однако если нам нужно в параметр функции отправить два разных типа данных, то следует задать разные названия типа данных в шаблоне. - В нашем случае T1 и T2.
template <typename T1, typename T2> // два разных типа данных
double sum(T1 a, T2 b)
{
return a + b;
}
int main()
}
cout << sum(5, 2.2) << endl;
}
template <class T>
Last updated