1. 程式人生 > >靜態成員函式、this指標、物件指標和動態物件使用小結

靜態成員函式、this指標、物件指標和動態物件使用小結

·靜態成員函式就是使用static 關鍵字宣告的成員函式
  在類外實現時不加static關鍵字,只有在類內宣告時才加static
·靜態成員函式是類的一部分,作用是為了處理靜態資料成員
  沒有this指標
·靜態成員函式可以直接訪問該類的靜態成員,但不能直接訪問類中的靜態成員
·若想在靜態成員fun中使用非靜態成員,則必須通過引數傳遞方式得到物件名,然後通過物件名來訪問非靜態成員
 
·this指標
·this指標是一個特殊的隱含指標,它隱含於成員函式,除靜態成員函式外每個成員函式都有一個this指標
·this指標的值是當前被呼叫的成員函式所在的物件的起始地址
·當一個物件呼叫成員函式,先將物件地址賦給this指標
,然後呼叫成員函式,每次成員函式存取資料成員,則隱式呼叫this指標
·this呼叫例子


因為建構函式Time中的引數三second與資料成員second重名,故必須顯式的使用this指標
·this指標一般用於返回當前物件自身,同樣也可以使用 *this 來標識該成員函式的當前物件
x   this->x    (*this).x
·this指標是一個const指標,成員函式不能對其賦值


·成員指標1.指向資料成員的指標
資料型別名 *指標變數名;
eg:

2.物件指標
<類名>*<物件指標名>
·通過物件指標訪問物件成員
<物件指標名>-><公有成員>
(*<物件指標名>).<公有成員>

3.指向公有成員的指標變數

資料型別名(類名::*指標變數名)(引數列表);
即:指標變數名 = &類名::成員函式名;     ----使得指標變數指向一個公有成員的一般形式
eg: