Der Zeiger this

Innerhalb von Elementfunktionen kann man die Elemente eines jeden Objekts mit ihrem Elementnamen ansprechen. Damit ist das jeweilige Element der aktuellen Instanz einer Klasse gemeint, obwohl bei der Definition der Elementfunktionen (zur Übersetzungszeit) noch gar keine Instanzen existieren. Manchmal ist es aber innerhalb von Elementfunktionen nötig, nicht nur einzelne Elemente einer Instanz anzusprechen, sondern die ganze Instanz selbst. Dafür gibt es (aber nur innerhalb der Elementfunktionen) den Zeiger this. Dieser zeigt zur Laufzeit auf die aktuelle Instanz, also das auf konkrete Objekt im Speicher. Jede Elementfunktion kann den Zeiger this ohne weitere Deklaration verwenden (es sei denn, die Funktion ist als static deklariert, siehe Statische und nichtstatische Methoden).

Ein Beispiel zur Verwendung von this ist in Überladen von Operatoren zu sehen. Dort wird für die Klasse Cardinal der Zuweisungsoperator = mit einer eigenen Funktion überladen. Diese soll eine Referenz auf den zugewiesenen Wert liefern und kann dies mit der Anweisung return *this tun.



AnyWare@Wachtler.de