der this-Zeiger

this zur Verknüpfung von Funktionen (2/2)

Die Bewegungsfunktionen erwarten immer ein Objekt vom Typ runaround. In unserem Fall will man natürlich immer dasselbe Objekt bearbeiten. Wir ändern die Klassendeklaration derart um, daß die Methoden eine Referenz auf runaround zurückliefern. In der Definition geben wir dann eine Referenz auf *thiszurück und die Wanderung vereinfacht sich dann beträchtlich.

class runaround
{
  public:
    runaround& oben( .....  return *this;);
    runaround& unten( .....  return *this;);
    runaround& rechts( .....  return *this;);
    runaround& links( .....  return *this);
};

void main()
{
runaround mein_laeufer;

  mein_laeufer.oben().unten().rechts().unten().links();
}

this bei Operatoren

Bei der Überladung von Operatorten wird der this-Pointer benötigt um eine Referenz auf das eigene Objekt zurückzugeben. Wegen eines Beispieles sehe man dort nach.