av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

C++中的this指針

this指針是一個隱含于每一個類的成員函數(shù)中的特殊指針(包括析構(gòu)函數(shù)和構(gòu)造函數(shù)),它用于指向正在被成員函數(shù)操作的對象。不過,在一般的程序設(shè)計中不直接用它的,this是一個指針變量,因此在成員函數(shù)中,可以使用*this來表示正在調(diào)用該函數(shù)的對象。

成都創(chuàng)新互聯(lián)公司自2013年起,先為長島等服務(wù)建站,長島等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為長島企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

1. this指針的用處:

一個對象的this指針并不是對象本身的一部分,不會影響sizeof(對象)的結(jié)果。this作用域是在類內(nèi)部,當(dāng)在類的非靜態(tài)成員函數(shù)中訪問類的非靜態(tài)成員的時候,編譯器會自動將對象本身的地址作為一個隱含參數(shù)傳遞給函數(shù)。也就是說,即使你沒有寫上this指針,編譯器在編譯的時候也是加上this的,它作為非靜態(tài)成員函數(shù)的隱含形參,對各成員的訪問均通過this進(jìn)行。   

例如,調(diào)用date.SetMonth(9) <===> SetMonth(&date, 9),this幫助完成了這一轉(zhuǎn)換 .

2. this指針的使用:

一種情況就是,在類的非靜態(tài)成員函數(shù)中返回類對象本身的時候,直接使用 return *this;另外一種情況是當(dāng)參數(shù)與成員變量名相同時,如this->n = n (不能寫成n = n)。

3. this指針程序示例:

this指針存在于類的成員函數(shù)中,指向被調(diào)用函數(shù)所在的類實(shí)例的地址。   

根據(jù)以下程序來說明this指針   

 
 
 
  1. #include   
  2. class Point   
  3. {   
  4. int x, y;   
  5. public:   
  6. Point(int a, int b) { x=a; y=b;}   
  7. void MovePoint( int a, int b){ x+=a; y+=b;}   
  8. void print(){ cout<<"x="<
  9. };   
  10. void main( )   
  11. {   
  12. Point point1( 10,10);   
  13. point1.MovePoint(2,2);   
  14. point1.print( );   
  15. }   

 當(dāng)對象point1調(diào)用MovePoint(2,2)函數(shù)時,即將point1對象的地址傳遞給了this指針。   

MovePoint函數(shù)的原型應(yīng)該是 void MovePoint( Point *this, int a, int b);***個參數(shù)是指向該類對象的一個指針,我們在定義成員函數(shù)時沒看見是因?yàn)檫@個參數(shù)在類中是隱含的。這樣point1的地址傳遞給了this,所以在MovePoint函數(shù)中便顯式的寫成:   

void MovePoint(int a, int b) { this->x +=a; this-> y+= b;}   

即可以知道,point1調(diào)用該函數(shù)后,也就是point1的數(shù)據(jù)成員被調(diào)用并更新了值。   

即該函數(shù)過程可寫成 point1.x+= a; point1. y + = b;

4. 關(guān)于this指針的一個經(jīng)典回答:

當(dāng)你進(jìn)入一個房子后,   

你可以看見桌子、椅子、地板等,   

但是房子你是看不到全貌了。   

對于一個類的實(shí)例來說,   

你可以看到它的成員函數(shù)、成員變量,   

但是實(shí)例本身呢?   

this是一個指針,它時時刻刻指向你這個實(shí)例本身

通過上面的分析,我們可以了解到,this就是自己,自己就是this,每個對象都有一個指向自己的this指針,就因?yàn)檫@個this指針,才使得有不同的實(shí)例,要不一個類豈不是就像一個實(shí)例了??


網(wǎng)頁名稱:C++中的this指針
分享鏈接:http://uogjgqi.cn/article/dhsioie.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流