I den här handledningen lär vi oss om funktionsmallar i C ++ med hjälp av exempel.
Mallar är kraftfulla funktioner i C ++ som gör att vi kan skriva generiska program.
Vi kan skapa en enda funktion för att arbeta med olika datatyper med hjälp av en mall.
Funktionsmalldeklaration
En funktionsmall börjar med nyckelordet template
följt av mallparametrar inuti som följs av funktionsdeklaration.
template T functionName(T parameter1, T parameter2,… ) ( // code )
I ovanstående kod, T
är en mall argumentet som accepterar olika datatyper ( int
, float
, etc.), och typename
är ett nyckelord.
När ett argument av en datatyp skickas till functionName()
genererar kompilatorn en ny version av functionName()
för den angivna datatypen.
Ringa en funktionsmall
När vi har förklarat och definierat en funktionsmall kan vi kalla den i andra funktioner eller mallar (till exempel main()
funktionen) med följande syntax
functionName(parameter1, parameter2,… );
Låt oss till exempel överväga en mall som lägger till två nummer:
template T add(T num1, T num2) ( return (num1 + num2); )
Vi kan sedan kalla det i main()
funktionen för att lägga till int
och double
nummer.
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)
Exempel: Hitta det absoluta värdet av siffror
#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; )
Produktion
2 + 3 = 5 2,2 + 3,3 = 5,5