V tej vadnici bomo s pomočjo primerov spoznali predloge funkcij v jeziku C ++.
Predloge so zmogljive funkcije C ++, ki nam omogočajo pisanje generičnih programov.
Z uporabo predloge lahko ustvarimo eno samo funkcijo za delo z različnimi vrstami podatkov.
Izjava o predlogi funkcije
Predloga funkcije se začne s ključno besedo, ki template
ji sledijo parametri predloge, ki ji sledi izjava funkcije.
template T functionName(T parameter1, T parameter2,… ) ( // code )
V zgornjo kodo, T
je predloga argument, ki sprejema različne vrste podatkov ( int
, float
itd), in typename
je ključna beseda.
Ko se argumentu podatkovnega tipa posreduje functionName()
, prevajalnik ustvari novo različico functionName()
za dani podatkovni tip.
Klicanje predloge funkcije
Ko deklariramo in definiramo predlogo funkcije, jo lahko pokličemo v druge funkcije ali predloge (na primer main()
funkcijo) z naslednjo sintakso
functionName(parameter1, parameter2,… );
Oglejmo si na primer predlogo, ki doda dve številki:
template T add(T num1, T num2) ( return (num1 + num2); )
Nato ga lahko pokličemo v main()
funkciji seštevanja int
in double
števila.
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; )
![](https://cdn.wiki-base.com/4195744/c_function_template_with_example.png.webp)
Primer: Iskanje absolutne vrednosti števil
#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; )
Izhod
2 + 3 = 5 2,2 + 3,3 = 5,5