C++中::的作用

TuxedoLinux發表於2018-05-25
函式模板

模板以關鍵字template開頭,


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的成員函式。例如

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。

相關文章