C++雙冒號::的作用

來源:互聯網
上載者:User

標籤:

  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 class CA 2 { 3  public: 4       int ca_var; 5       int add(int a, int b); 6       int add(int a);        7 }; 8  9 //那麼在實現這個函數時,必須這樣寫10 int CA::add(int a, int b)11 {12        return a + b;  13 }14 15 //另外,雙冒號也常常用於在類變數內部作為當前類執行個體的元素進行表示,比如:16 int CA::add(int a)17 {18        return a + ::ca_var_;  //表示當前類執行個體中的變數ca_var.19 }

 

C++雙冒號::的作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.