next up previous
Nächste Seite: Konstanten Aufwärts: Worin bestehen wesentliche Unterschiede Vorherige Seite: Default-Parameter

Überladen von Funktionsnamen

Funktionsnamen können überladen werden, d.h. der gleiche Funktionsname kann benutzt werden, sofern verschiedene Parametertypen und/oder Parameteranzahlen verwendet werden.

Prototypen:


double abs(double);        // absolute value of double
int    abs(int);           // absolute value of int
double abs(double,double); // absolute value of "complex"

Implementierung:


double abs(
  double x
) {
  return(x>=0.0?x;-x);
}

int abs(
  int i
) {
  return(i>=0?i;-i);
}

double abs(
  double real,
  double imag
) {
  return(sqrt(real*real+imag*imag));
}

Vorsicht ist wegen impliziter Typ-Konvertierung in C/C++ geboten, insbesondere wegen des NULL-Zeigers, der in C++ durch die einfache 0 ausgedrückt wird.




1999-12-13