c++中冒號(:)和雙冒號(::)的用法


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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM