Šablona funkce C ++ (s příkladem)

Obsah

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 templatení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, Tje šablona argument, který přijímá různé datové typy ( int, float, atd), a typenameje 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í inta 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

Zajímavé články...