類和物件程式設計(七) this指標

2021-09-21 01:40:15 字數 912 閱讀 5208

在 c++ 中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員函式的隱含引數。因此,在成員函式內部,它可以用來指向呼叫物件。

友元函式沒有this指標,因為友元不是類的成員。只有成員函式才有this指標。

下面的例項有助於更好地理解 this 指標的概念:

例項

#include using namespace std;

class box

double volume()

int compare(box box)

private:

double length; // length of a box

double breadth; // breadth of a box

double height; // height of a box};

int main(void)

因為 this 的目的總是指向「這個」物件,所以 this 是乙個常量指標(參見2.4.2節,第56頁),我們不允許改變 this 中儲存的位址。

例項

#include using namespace std;

class box

~box()

box* get_address() //得到this的位址

};int main()

this指標的型別可理解為box*

此時得到兩個位址分別為 box1 和 box2 物件的位址。

類物件和類指標

宣告 類物件 利用類的建構函式在記憶體中分配一塊記憶體,呼叫了建構函式 類指標 是乙個記憶體位址值,指向記憶體中存放的類物件,沒有呼叫建構函式 引用成員 物件用 指標用 物件生命期 若是成員變數,則是類的析構函式來釋放空間 若是函式中的臨時變數,則作用域是該函式體內 指標生命期 則需利用delete...

類物件和類指標區別

類物件和類指標 本文 student a s.setname a studeng b new student student b b new student b setname b 分析 定義類物件基本格式是 student a 在定義之後就已經為a這個物件分配了記憶體,且為記憶體棧 定義類指標基本...

物件和類(二) this 指標

當你進入乙個房子後,你可以看見桌子 椅子 地板等,但是房子你是看不到全貌了。對於乙個類的例項來說,你可以看到它的成員函式 成員變數,但是例項本身呢?this 是乙個指標,它時時刻刻指向你這個例項本身。this只能在成員函式中使用,this在成員函式的開始前構造的,在成員的結束後清除。前面我們所學的成...