Einführung: Wozu überhaupt Operatoren?

Diese Frage kann auf sehr einfache Weise beantwortet werden. Operatoren repräsentieren elementare Operationen über Objekte auf eine kurze, bequeme und gebräuchliche Weise. Operatoren dienen also schlichtweg der Bequemlichkeit. Da sie zudem die Lesbarkeit des Programmcodes erhöhen und das Programmieren an sich einfacher und übersichtlicher machen, werden Operatoren sehr häufig eingesetzt.
Wie gesagt: Man kommt auch völlig ohne Operatoren aus, denn hinter Operatoren verbergen sich letztlich nichts anderes als Elementfunktionen. Betrachten wir z.B. unseren neuen Datentyp complex (für die komplexen Zahlen), so könnte man natürlich sämtliche Funktionen zwischen zwei komplexen Zahlen über Funktionsaufrufe definieren wie etwa add(x,y) für die Addition. Übersichtlicher und bequemer ist aber sicherlich die gewohnte Schreibweise x+y:

Beispiel (die Definition des Operators wird in den folgenden Abschnitten erläutert):

  complex a, b, c, d;
  complex add(complex, complex);           // Additionsfunktion

  complex complex::operator+(complex);     // Operator-Definition

  void main()
  {
      // Variante 1: über Funktionsaufrufe
      d = add(a , add( b, c));

      // Variante 2: über Operatoren
      d = a + b + c;
  }