Egy függvénymezõben direkt módon is hivatkozhatunk arra az objektumra, amelyiknek a függvénymezejét aktivizáltuk. Például a
class cc {
int m;
public:
....
int read_m(void) { return m; }
};
deklaráció esetén, ha aa és bb
cc típusúak, akkor az aa.read_m( ), illetve
a bb.read_m( ) függvényhívások esetén
rendre az aa.m, illetve bb.m értékeket
kapjuk. A függvényhívás során úgy
derül ki, hogy melyik objektum adatmezõit kell használni,
hogy minden függvénymezõ számára implicit
módon deklarálásra kerül egy this nevû
pointer. Ha tehát a read_m függvény egy cc
típusú osztály függvénymezõje,
akkor a read_m-en belül this egy cc* típusú
pointer, ilyen módon az elsõ read_m hivatkozásnál
this az aa változóra, míg a második
hivatkozás alkalmával a bb-re mutat, azaz az elsõ
esetben this == &aa, a második esetben pedig this
== &bb.
A this mutató explicit módon is megjelenhet a függvénymezõk definíciója során:
class cc {
int m;
public:
int read_m(void) { return this->m; }
};