1. 程式人生 > >C++ 作用域符號:: 常用三種方式

C++ 作用域符號:: 常用三種方式

1、 作用域符號::的前面一般是類名稱,後面一般是該類的成員名稱,C++為例避免不同的類有名稱相同的成員而採用作用域的方式進行區分
如:A,B表示兩個類,在A,B中都有成員member。那麼
A::member就表示類A中的成員member
B::member就表示類B中的成員member

2、 全域性作用域符號:當全域性變數在區域性函式中與其中某個變數重名,那麼就可以用::來區分如:

char zhou; //全域性變數 void sleep() 

{ 

char zhou; //區域性變數 char(區域性變數) = char(區域性變數) *char(區域性變數) ; 

::char(全域性變數) =::char
(全域性變數) *char(區域性變數); }

3、
::是C++裡的“作用域分解運算子”。比如聲明瞭一個類A,類A裡聲明瞭一個成員函式voidf(),但沒有在類的聲明裡給出f的定義,那麼在類外定義f時,就要寫成voidA::f(),表示這個f()函式是類A的成員函式。例如

01  class CA {    

02  public:    

03    int ca_var;    

04    int add(int a, int b);    

05    int add(int a);    

06  };   

07      

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

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

10  {    

11    return a + b;    

12  }    

13      

14  //另外,雙冒號也常常用於在類變數內部作為當前類例項的元素進行表示,比如:    

15  int CA::add(int a)    

16  {    

17    return a + ::ca_var;    

18  }   

19      

20  //表示當前類例項中的變數ca_var。