淺談c++中“::”和“:” 冒號的意思
阿新 • • 發佈:2020-06-25
(1) “::”
1)類作用域操作符。“::”指明瞭成員函式所屬的類。
如:M::f(s)就表示f(s)是類M的成員函式。
2)表示域操作符。
如:聲明瞭一個類A,類A裡聲明瞭一個成員函式void f(),但沒有在類的聲明裡給出 f 的定義,那麼在類外定義 f 時, 就要寫成void A::f(),表示這個f()函式是類A的成員函式。
3)名稱空間作用域符。用法(namespace::name) ,作用是為了更明確的呼叫想要的變數。
如:
在程式中的某一處想呼叫全域性變數a,那麼就寫成::a,
如果想呼叫class A中的成員變數a,那麼就寫成A::a,
如果想呼叫namespace std中的cout成員,就寫成std::cout(相當於using namespace std;cout)意思是 在這裡想用的cout物件是名稱空間std中的cout(即標準庫裡的cout)
4)表示引用成員函式及變數,作用域成員運算子
例:System::Math::Sqrt() 相當於System.Math.Sqrt()
(2) “:”
1)表示機構內位域的定義(即該變數佔幾個bit空間)
typedef struct _XXX{ unsigned char a:4; unsigned char c; }; XXX
2)建構函式後加冒號是初始化表示式:
iStack( int capacity ) : _stack( capacity ),_top( 0 ) { } //冒號後面的內容是初始化類的資料成員 _top;_stack; //也可以這樣寫 iStack( int capacity ){ _stack( capacity ); _top( 0 ); }
3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public: ”或"private: ”出現為止。"private:"為預設處理。
4)類名冒號後面的是用來定義類的繼承。
class 派生類名 : 繼承方式 基類名{ 派生類的成員 };
(繼承方式:public、private和protected,預設處理是public )
到此這篇關於淺談c++中“::”和“:” 冒號的意思的文章就介紹到這了,更多相關c++ 冒號 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!