程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> c++中冒號(:)和雙冒號(::)的使用說明

c++中冒號(:)和雙冒號(::)的使用說明

編輯:更多關於編程
    以下是對c++中冒號和雙冒號的用法進行了介紹,需要的朋友可以過來參考下  

    (1)表示機構內位域的定義(即該變量占幾個bit空間)

    復制代碼 代碼如下:
    typedef struct _XXX{
              unsigned char a:4;
              unsigned char c;
    } ; XXX


    (2)構造函數後面的冒號起分割作用,是類給成員變量賦值的方法,初始化列表,更適用於成員變量的常量const型。

    復制代碼 代碼如下:
    struct _XXX{
              _XXX() : y(0xc0) {}
    };


    (3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public:”或"private:”出現為止。"private:"為默認處理。
    (4)類名冒號後面的是用來定義類的繼承。

    復制代碼 代碼如下:
    class 派生類名 : 繼承方式 基類名
    {
        派生類的成員
    };


    繼承方式:public、private和protected,默認處理是public。
    2.雙冒號(::)用法
    (1)表示“域操作符”
    例:聲明了一個類A,類A裡聲明了一個成員函數void f(),但沒有在類的聲明裡給出f的定義,那麼在類外定義f時,
    就要寫成void A::f(),表示這個f()函數是類A的成員函數。

    (2)直接用在全局函數前,表示是全局函數
    例:在VC裡,你可以在調用API 函數裡,在API函數名前加::

    (3)表示引用成員函數及變量,作用域成員運算符
    例:System::Math::Sqrt() 相當於System.Math.Sqrt()

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

    :: 一般還有一種用法,就是直接用在全局函數前,表示是全局函數。當類的成員函數跟類外的一個全局函數同名時,考試,大提示在類內定義的時候,打此函數名默認 調用的是本身的成員函數;如果要調用同名的全局函數時,就必須打上::以示區別。比如在VC裡,你可以在調用API函數時,在API函數名前加::。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved