003
22.11.2007, 19:24 Uhr
stephanw
localhorst
|
Es ist genau so, wie Du es bezogen auf den this-Zeiger beschrieben hast. Der Compiler übergibt dann für
C++: |
class Point { int x; int y; public: void info() const { cout << "(" << this->x << "," << this->y << ")" << endl; // ... };
Point p; p.info();
|
die Adresse von p an die Funktion info() als versteckten, impliziten Parameter und nennt sie dort "this".
Und weil es diese Funktion im Speicher nur einmal gibt, kann man z.B. auch deren Adresse ermitteln und diese dann über Funktionszeiger aufrufen. Mithilfe der Adressen von Funktionen bastelt der Compiler auch noch so tolle Sachen wie den "virtual"-Mechanismus, so dass Du in Klassenableitungen Funktionen überschreiben kannst. -- Reden ist Schweigen und Silber ist Gold. Dieser Post wurde am 22.11.2007 um 19:24 Uhr von stephanw editiert. |