Einführung: Überladen von Operatoren (1/2)

In diesem Kapitel werden wir uns mit einer Technik beschäftigen, die man das Überladen von Operatoren nennt.
Was man grundsätzlich unter einen Operator zu verstehen hat, wurde bereits im Kapitel 3 dieses Kurses (Elementare Sprachelemente) behandelt, auf das der/die Kursteilnehmer/in, der/die diesen Begriff nicht richtig abzugrenzen vermag, verwiesen sei.
 

Was heißt Überladen?

Überladen bedeutet, einem bestimmten Operator für seine eigene Klasse zu definieren bzw. umzudefinieren. Überladen deshalb, weil der gleiche Operator, z.B. der Plus-Operator +, für verschiendene Datentypen bzw. Objekte unterschiedlich implementiert ist. Welche Operator-Funktion aufgerufen wird, hängt also von dem Typ bzw. der Klasse der Operanden ab. Da es sich bei dem Überladen von Operatoren im Prinzip um ein Überladen der entsprechenden Operatorfunktion handelt, bedeutet das Überladen eines Operators nichts anderes als das Überladen von Funktionen. Letzteres ist uns schon aus vorherigen Kapiteln geläufig und sollte damit das allgemeine Verständnis dieses Kapitels erleichtern.

  double a = 4.15, b = 6.9242, c;
  int k = 4, j = 9, l;

  c = a + b;        // Plus-Operator für double
  l = k + j;        // Plus-Operator für int