Was ist das hier?

  • Eine Plattform von Flensburger Studenten für Flensburger Studenten
  • Ein Wiki zum Sammeln von Wissen
  • Ein Forum zum Austausch
  • Eine Wissensdatenbank zum Informatikstudium:
    • Programmieren in C, C#, PHP, Javascript, HTML, CSS
    • Datenbanken und Abfragen mit SQL
    • 2D / 3D - Gestaltung
    • Mathe, Physik, Gerätetechnik, RoBs
    • Audio- / Videotechnik
    • ...und vieles mehr

Anmelden

Warum registrieren?

Weil besser als gut!

 

This-pointer (C++)

Methoden können (und müssen) auf members der eigenen Klasse unmittelbar, d.h. ohne Nennung des Objektbezeichners oder -zeigers zugreifen.

Z.B. könnte jede Methode der Klasse MyArray (siehe Prog2 - Labor Nr. 4) folgende Anweisungen ausführen:

C++
laenge = 12345;
check_index( 42 );

Der Bezug zum Objekt wird mit dem this pointer hergestellt, der in allen Methoden zur Verfügung steht und immer auf das aktuelle Objekt zeigt.

Für obige Anweisungen generiert der Compiler:

C++
this->laenge = 12345;
this->check_index( 42 );

Man kann auch explizit den Objektbezug so angeben, etwa bei Verdeckungen (z.B. Bezeichner eines Methodenparameters verdeckt ein member). Der this pointer wird allen Methoden als "hidden argument" übergeben und ist selbst konstant.

Methoden haben also ein weiteres Argument der Form:

C++
klasse* const this // (konstanter Zeiger auf Objekt der eigenen Klasse)

z.B. der Destruktor der Klasse MeinArray:

C++
~MeinArray( MeinArray* const this )
| Mehr

Zahlen & Daten

  • 1007 Seitenaufrufe
  • 1124 Tage alt
  • 2 Versionen
  • Letzte Änderung: 23.04.2009 um 09:19 Uhr

Publish