C++中::的作用
阿新 • • 發佈:2019-01-07
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的成員函式。例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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。
|