C 中的this指標

2021-09-05 09:59:14 字數 860 閱讀 2056

this指標作為乙個隱含引數傳遞給非靜態成員函式,用以指向該成員函式所屬類所定義的物件。當不同的物件呼叫同乙個類的成員函式**時,編譯器會依據該成員函式的this指標所指向的不同物件來確定應該引用哪個物件的資料成員。

#include#includeusing namespace std;  

class stu_info_mange

void setsname(int sn) //使用this指標進行賦值

int setage(int a)

void print()

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)

{ box box1(3.3, 1.2, 1.5); // declare box1

box box2(8.5, 6.0, 2.0); // declare box2

if(box1.compare(box2))

{cout << "box2 is smaller than box1" 《當上面的**被編譯和執行時,它會產生下列結果:

constructor called.

constructor called.

box2 is equal to or larger than box1

C 中的this指標

當乙個成員函式被呼叫時,自動向它傳遞乙個隱含的引數,該引數是乙個指向接 受該函式的呼叫的物件的指標,在程式中可以使用關鍵字this指標來引用改制鎮,因此稱該指標為this指標。this指標是c 實現封裝的一種機制,它將成員和用於操作這些成員的成員函式聯絡在一起。例如 location類的成員函式in...

C 中的this指標

1.this 指標的引入 每個成員函式 static函式外 都有乙個額外的隱含的this指標,乙個類物件在條用成員函式時this指標初始化為呼叫函式物件的位址。例1 sales item.h class sales item sales item.cpp bool sales item same i...

C 中的指標

在學習c c 過程中,指標是乙個比較讓人頭痛的問題,稍微不注意將會是程式編譯無法通過,甚至造成宕機。在程式設計過程中,指標也往往是產生隱含bug的原因。下面就來談談指標的應用以及需要注意的一些問題,裡面也許就有你平時沒有注意到的問題,希望能幫助各位讀者理解好指標。一 我們先來回憶一下指標的概念吧,方...