Spezielle Operatoren: Inkrement- und Dekrement-Operator (1/2)

Die einstelligen Inkrement- und Dekrement-Operatoren ++ bzw. --, die bereits von den fundamentalen Datentypen bekannt sind und dort eine einfache Notation ermöglichen, können auch für eigene Klassen überladen werden.

Wie bereits bekannt, existieren zwei Notationen für den jeweiligen Operator, die verschiedene Bedeutung haben:

Bei fundamentalen Datentypen liefert etwa ++x den Wert von x nach der Inkrementierung, während bei der Postfix-Schreibweise x++ zuerst der Wert von x geliefert und erst danach der Wert von x erhöht wird. Diese Unterscheidung nutzt man etwa bei der Konstruktion von Schleifen oder bei einem Zugriff auf eine Array-Element aus.

Beispiel

  x = element[i++];

Hier wird also der Variablen x das Array-Element mit dem Index-Wert i zugewiesen, danach wird i inkrementiert.
Analog kann man nun für eigene Datentypen die Operatoren überladen. Da es zwei verschiedene Notationen gibt (Präfix und Postfix), benötigt man zur Deklaration der verschiedenen Notationen ein Unterscheidungsmerkmal. Hier hat man sich für folgende Lösung entschieden:

    Der Postfix-Operator muß grundsätzlich mit eine Dummy-Parameter vom Typ int deklariert werden!