C++中的單冒號與雙冒號

1.單冒號(:)用法
  (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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章