Selles õpetuses õpime näidete abil funktsiooni malle C ++ keeles.
Mallid on C ++ võimsad funktsioonid, mis võimaldavad meil kirjutada üldisi programme.
Malli abil saame luua ühe funktsiooni, mis töötab erinevate andmetüüpidega.
Funktsioonimalli deklaratsioon
Funktsioonimall algab märksõnaga, template
millele järgnevad malliparameetrid, millele järgneb funktsiooni deklaratsioon.
template T functionName(T parameter1, T parameter2,… ) ( // code )
Eespool koodi, T
on malli argument, et aktsepteerib erinevaid andmetüüpe ( int
, float
jne), ja typename
on märksõna.
Andmetüübi argumendi edastamisel functionName()
genereerib kompilaator functionName()
antud andmetüübile uue versiooni .
Funktsioonimalli kutsumine
Kui oleme funktsiooni malli deklareerinud ja määratlenud, võime seda kutsuda teistes funktsioonides või mallides (näiteks main()
funktsioonis) järgmise süntaksiga
functionName(parameter1, parameter2,… );
Vaatleme näiteks malli, mis lisab kaks numbrit:
template T add(T num1, T num2) ( return (num1 + num2); )
Seejärel saame seda kutsuda main()
funktsioonis lisamiseks int
ja double
numbriteks.
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)
Näide: numbrite absoluutväärtuse leidmine
#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äljund
2 + 3 = 5 2,2 + 3,3 = 5,5