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的原因。下面就來談談指標的應用以及需要注意的一些問題,裡面也許就有你平時沒有注意到的問題,希望能幫助各位讀者理解好指標。一 我們先來回憶一下指標的概念吧,方...