C++中箭頭-> 雙冒號::點號.操作符區別

C++ 箭頭-> 雙冒號:: 點號.操作符區別

 

首先介紹一下C++中的結構。對於一個結構來說,


struct MyStruct { 
int member_a; 
};


如果有個變量MyStruct s,那麼使用其中的成員元素時可以用


s.member_a = 1;


如果採用指針方法訪問,比如MyStruct * ps,那麼同樣的訪問必須用箭頭號:


ps->member_a = 1;



::只用在類成員函數和類成員變量中。比如,聲明一個類:


class CA { 
public: 
int ca_var; 
int add(int a, int b); 
int add(int a); 
};


那麼在實現這個函數時,必須這樣書寫:


int CA::add(int a, int b) 

return a + b; 
}


另外,雙冒號也常常用於在類變量內部作爲當前類實例的元素進行表示,比如:


int CA::add(int a) 

return a + ::ca_var; 
}


表示當前類實例中的變量ca_var。

 

c++中當定義類對象是指針對象時候,就需要用到->指向類中的成員;當定義一般對象時候時就需要用到"."指向類中的成員....... 
例如:

class A 

public 
play(); 
}


如果定義如下:


A *p則:p->play()使用; 左邊是結構指針。

A p 則:p.paly()使用; 左邊是結構變量。

發佈了7 篇原創文章 · 獲贊 35 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章