V tomto kurzu se na příkladech dozvíme o funkčních šablonách v C ++.
Šablony jsou výkonné funkce jazyka C ++, které nám umožňují psát obecné programy.
Můžeme vytvořit jednu funkci pro práci s různými datovými typy pomocí šablony.
Deklarace šablony funkcí
Šablona funkce začíná klíčovým slovem, za template
nímž následuje parametr (parametry) šablony, za nímž následuje deklarace funkce.
template T functionName(T parameter1, T parameter2,… ) ( // code )
Ve výše uvedeném kódu, T
je šablona argument, který přijímá různé datové typy ( int
, float
, atd), a typename
je klíčové slovo.
Když je předán argument datového typu functionName()
, kompilátor vygeneruje novou verzi functionName()
pro daný datový typ.
Volání šablony funkce
Jakmile jsme deklarovali a definovali šablonu funkce, můžeme ji volat v jiných funkcích nebo šablonách (například main()
funkci) s následující syntaxí
functionName(parameter1, parameter2,… );
Zvažme například šablonu, která přidá dvě čísla:
template T add(T num1, T num2) ( return (num1 + num2); )
Můžeme to potom zavolat ve main()
funkci pro přidání int
a double
čísla.
int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << result2 << endl; return 0; )
Volání funkcí na základě datových typů
Příklad: Zjištění absolutní hodnoty čísel
#include using namespace std; template T add(T num1, T num2) ( return (num1 + num2); ) int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << "2 + 3 = " << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << "2.2 + 3.3 = " << result2 << endl; return 0; )
Výstup
2 + 3 = 5 2,2 + 3,3 = 5,5