當我們在堆記憶體例項化物件時,可以得到物件指標:
下面為堆記憶體例項化物件的例項以及如何通過物件指標訪問物件中的成員
classa~
a()int x;
void
show()
};intmain()
以物件的指標作為乙個物件中的資料成員。
例子:
classa~
a()void
show()
private
:int a;
int b;};
class
b//初始化物件成員指標a和b~b
()//在析構函式中記得釋放記憶體
a *a;
a *b;};
intmain()
this指標的概念:在 c++ 中,每乙個物件都能通過 this 指標來訪問自己的位址。this 指標是所有成員函式的隱含引數。因此,在成員函式內部,它可以用來指向呼叫物件。
友元函式沒有 this 指標,因為友元不是類的成員。只有成員函式才有 this 指標,靜態成員不能使用this指標訪問。
例子:
class
a//使用this指標,來區分同名變數~a
()void
show()
private
:int x;
int y;};
intmain()
this指標的特殊用法:
classa~
a() a set
(int x,
int y)
a show()
private
:int x;
int y;};
intmain()
C 類中的this指標
1.this指標的用處 乙個物件的this指標並不是物件本身的一部分,不會影響sizeof 物件 的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加...
C 類中的指標
c this指標 在c 中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員變數的隱含引數。在函式內部,this指標可以用來指向呼叫物件。注意 友元函式沒有this指標,友元不是類的成員,只有成員函式才有this指標 include using namespace std cl...
C 中類的this指標理解
原文 先要理解class的意思。class應該理解為一種型別,象int,char一樣,是使用者自定義的型別。用這個型別可以來宣告乙個變數,比如int x,myclass my等等。這樣就像變數x具有int型別一樣,變數my具有myclass型別。理解了這個,就好解釋this了,my裡的this 就是...