*=
-Operator das Objekt, für das er aufgerufen wurde,
verändert und im veränderten Zustand zurückliefern muß,
benötigt man eine Möglichkeit, innerhalb der Elementfunktion
auf das Objekt zuzugreifen; hier in der Form, daß man das Objekt
als Rückgabewert einsetzen möchte.
Die Lösung des obigen Problems liegt in der Verwendung des sogenannten
this-Zeigers. Jede Elementfunktion einer Klasse enthält einen
Zeiger auf ihren Klassentyp mit dem Namen this. Im obigen Beispiel
enthält die Operator-Elementfunktion einen this-Zeiger vom Typ complex*
.
Der this-Zeiger enthält die Adresse des Klassenobjekts,
über das die Elementfunktion aufgerufen wurde.
Das obige Beispiel hätte demnach folgendes Aussehen:
return *this; // Rückgabe des
manipulierten Objekts
complex complex::operator*=(double d)
{
re *= d;
// Realteil des Objekts mit d multiplizieren
im *= d;
// Imaginärteil des Objekts mit d multiplizieren
};
Auf den folgenden Seiten wollen wir uns noch ein wenig ausführlicher mit dem this-Zeiger auseinandersetzen.