1. 程式人生 > >C++中的*this指標

C++中的*this指標

1、每個類中都隱含了this指標成員,不用定義;

2、對於定義的每個物件,this指向當前物件的地址;

3、通過物件呼叫成員函式時,隱含的都要傳遞this指標作為實參;

4、this指標是常量指標,不能指向別的物件;

5、在成員函式中訪問成員資料或其他函式,可以通過this->進行限定,但是通常也是可以省略的。

參考例子:

#include <iostream>
using namespace  std;

//定義一個類
class A
{
public:
	int get()const {return i;} //獲取當前資料
	void set(int x)
	{
		this->i = x;
		cout <<"this變數儲存的記憶體地址:\t"<<this<<endl;
	}
private:
	int i;
};

int main()
{
	A a;
	a.set(9);
	cout <<"物件a的記憶體地址:\t"<<&a<<endl;
	cout << a.get()<<endl;

	A b;
	b.set(999);
	cout <<"物件b的記憶體地址:\t"<<&b<<endl;
	cout << b.get()<<endl;


	return 0;


}

輸出結果: