Szablon funkcji lub funkcja szablonowa – jeden z dwóch rodzajów szablonów w języku programowania C++, dzięki któremu możliwe jest automatyczne generowanie nowych funkcji.
Ogólny przykład template <class T> // deklaracja funkcji szablonowej T add (T par1, T par2) { return par1 + par2;
int main() { int a = 5; int b = 8; int c = add<int> (a, b); float d = 3; float e = 4; float f = add<float> (d, e); return 0;
Powyżej znajduje się deklaracja funkcji szablonowej. Funkcja int main() zawiera dwa wywołania funkcji add<int>. Podczas kompilacji generowane są dwie funkcje o tej nazwie, ale z różnymi sygnaturami. Parametry szablonu podawane są w nawiasach trójkątnych.
Funkcja specjalizowana Można jawnie podać specjalizację szablonu dla konkretnych typów. Deklaracja funkcji specjalizowanej musi znajdować się przed jej wywołaniem, gdyż w przeciwnym wypadku zostanie wykorzystana funkcja szablonowa. template <class T> T function (T a, T b) { return a + b;
void function (char c, char d) { cout << "\npodaj znak dla c: "; cin >> c; cout << "\npodaj znak dla d: "; cin >> d; cout << "\npodałeś znaki " << c << " i " << d << endl;