C ++ functiesjabloon (met voorbeeld)

Inhoudsopgave

In deze tutorial leren we met behulp van voorbeelden over functiesjablonen in C ++.

Sjablonen zijn krachtige functies van C ++ waarmee we algemene programma's kunnen schrijven.

We kunnen een enkele functie maken om met verschillende gegevenstypen te werken door een sjabloon te gebruiken.

Verklaring van functiesjablonen

Een functiesjabloon begint met het sleutelwoord templategevolgd door sjabloonparameter (s) waarbinnen wordt gevolgd door functiedeclaratie.

 template T functionName(T parameter1, T parameter2,… ) ( // code )

In de bovenstaande code, Tis een template argument dat verschillende gegevenstypen (accepteert int, floatetc.) en typenameis een sleutelwoord.

Wanneer een argument van een gegevenstype wordt doorgegeven functionName(), genereert de compiler een nieuwe versie van functionName()voor het gegeven gegevenstype.

Een functiesjabloon aanroepen

Nadat we een functiesjabloon hebben gedeclareerd en gedefinieerd, kunnen we deze aanroepen in andere functies of sjablonen (zoals de main()functie) met de volgende syntaxis

 functionName(parameter1, parameter2,… );

Laten we bijvoorbeeld eens kijken naar een sjabloon die twee getallen toevoegt:

 template T add(T num1, T num2) ( return (num1 + num2); )

We kunnen het dan aanroepen in de main()functie om toe te voegen inten doublegetallen.

 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; ) 
Functieaanroep op basis van gegevenstypen

Voorbeeld: de absolute waarde van getallen zoeken

 #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; )

Uitvoer

 2 + 3 = 5 2,2 + 3,3 = 5,5

Interessante artikelen...