Ausgangspunkt unserer Einführung in die generische Programmierung: Eine traditionelle, übermässig eingeschränkte Summen-Implementierung

Tutorial - Ausgangspunkt

Betrachten wir eine ganz einfache Funktion, die alle Werte eines Arrays aufsummiert. Wir nennen die Funktion sum0, weil wir später bessere (generischere) Versionen erzeugen wollen.

double sum0(double* a, int n) {
  double res = 0;
  for(int i = 0; i < n; ++i)
    res += a[i];
  return res;
}
    

Was gibt es jetzt an sum0 auszusetzen? Wie kann man die Funktion verallgemeinern? Nehmen Sie sich ein paar Minuten, um darüber nachzudenken.

Draisine © Frank-Peter Funke - Fotolia.com

Fertig? Schauen wir mal, ob unser erster Gedanke der gleiche war ...