een lange titel

Functietemplates in C++

Templates kunnen ook gebruikt worden om functies te parametreren met een type.

Het volgende voorbeeld toont hoe je een functie algemeen kan maken door een template te gebruiken.

De functie som() is algemeen gemaakt. Hiermee zie je dat niet alleen maar klassen algemeen kan maken met templates

  • svb2.cpp

Broncode: svb2.cpp

template<typename T, typename U>
U som(T a, T b)
{
  return a + b;
}


int main()
{
  int x,y;
  long z;
  
  z = som<int,long>(x, y);
  
}

Bij de oproep van som() moet je 2 types meegeven. De oproep is dan:

  z = som<int,long>(x, y);

Door hier template te gebruiken kan je de functie algemeen maken zodat die kan werken met verschillende types. De voorwaarde is dan wel dat het actuele type de bewerking + moet kennen. Eventueel moet je, als het over een klasse gaat, de operator+() implementeren.