\b;Instrukcja \c;this\n;
Czasami metoda \l;klasy\u cbot\class; potrzebuje wskaźnika do instancji, w której działa. Na przykład instancja może chcieć przekazać wskaźnik do samej siebie jako parametr dla innej  funkcji. Odwołanie wprost poprzez \c;this\n; jest dostępne również dla metod; \c;this\n; jest odwołaniem do bieżącej instancji.
\c;
\s;public class MojaKlasa
\s;{
\s;	int    m_int;
\s;	string m_str;
\s;	void MojaFunkcja()
\s;	{
\s;		InnaFunkcja(this);
\s;		m_int = 2;
\s;	}
\s;}
\s;
\s;void InnaFunkcja(MojaKlasa obj)
\s;{
\s;	message(obj.m_str);
\s;}
\s;
\s;extern void object::Test()
\s;{
\s;	MojaKlasa item();
\s;	item.m_str = "Cześć";
\s;	item.MojaFunkcja();  // wyświetla "Cześć"
\s;}
\n;
Można również umieścić \c;this\n; przed nazwą pola w metodzie, ale nie jest to konieczne. W powyższym przykładzie metody \c;MojaFunkcja()\n; następujące dwie linie mają identyczne znaczenie:
\c;
\s;	m_int = 2;
\s;	this.m_int = 2;  // identyczne
\n;
Również w metodzie klasy \c;\l;object\u cbot\object;\n; można użyć \c;this.\n; przed nazwą pola.
\c;
\s;extern void object::Display()
\s;{
\s;	message(orientation);
\s;	message(this.orientation); // to samo ale
\s;	                           // bardziej jednoznacznie
\s;}
\n;
Jednakże jeśli nazwa pola jest ukryta poprzez deklarację parametru lub zmiennej, należy użyć \c;this\n;. W następującym przykładzie nazwa parametru \c;value\n; jest taka sama jak nazwa pola \c;value\n; w \l;klasie\u cbot\class; \c;MojaKlasa\n;, wobec tego w celu rozróżnienia pola od parametru, konieczne jest napisanie \c;this.value\n;.
\c;
\s;public class MojaKlasa
\s;{
\s;	int  value;
\s;	void Put( int value )
\s;	{
\s;		this.value = value;
\s;	}
\s;}
\n;
\t;Zobacz również
\c;\l;class\u cbot\class;\n;
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.
