1.冒號(:)用法
(1)表示機構內位域的定義(即該變數佔幾個bit空間)
1 typedef struct _XXX{ 3 unsigned char a:4; 5 unsigned char c; 7 } ; XXX
(2)建構函式後面的冒號起分割作用,是類給成員變數賦值的方法,初始化列表,更適用於成員變數的常量const型。
1 struct _XXX{ 3 _XXX() : y(0xc0) {} 5 };
(3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public:”或"private:”出現為止。"private:"為預設處理。
(4)類名冒號後面的是用來定義類的繼承。
1 class 派生類名 : 繼承方式 基類名 3 { 5 派生類的成員 7 };
繼承方式: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()
轉自:http://blog.csdn.net/zimingjushi/article/details/6549390/