Jedes Objekt einer bestimmten Klasse verwaltet seine eigene Kopie der Datenelemente einer Klasse. Die verschiedenen Objekte einer Klasse müssen sich die vorhandenen Elementfunktionen jedoch teilen, sie rufen jeweils dieselbe Kopie einer bestimmten Elementfunktion auf. Jede Elementfunktion einer Klasse ist nämlich nur einmal vorhanden, d.h. sie ist nicht innerhalb des Klassenobjektes gespeichert. Wäre letzteres der Fall, würde die Anzahl der Funktionskopien mit jedem definierten Objekt enorm anwachsen.
Damit steht man vor einem Problem:
Wie ist die Elementfunktion, von der nur eine Instanz existiert, mit
den einzelnen Datenobjekten der verschiedenen Objekte, die diese Funktion
aufrufen, verbunden?
Die Elementfunktion setze(int i, int j, double d)
der matrix
-Klasse muß ja auf die Elemente der verschiedenen
matrix
-Objekte,
die diese Methode aufrufen, Zugriff haben, da sie diese u.U. verändern
soll.
Die Lösung des Problems:
Die Lösung dieses Problems liegt in dem Zeiger this. Jede Elementfunktion einer Klasse enthält automatisch einen Zeiger auf ihren Klassentyp mit dem Namen this.Der this-Zeiger enthält dabei die Adresse desjenigen Klassenobjektes, über welches die Elementfunktion aufgerufen wurde. Und damit hat jede Elementfunktion auch Zugang zu den speziellen Datenelementen des aufrufenden Objektes.