轉載地址:
http://blog.sina.com.cn/s/blog_542bad910102vib1.html
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。 |