c++中“::”和“:”啥意思
(1)“::”
1)類作用域操作符。“::”指明了成員函數所屬的類。如:M::f(s)就表示f(s)是類M的成員函數。
2)表示“域操作符”.例:聲明了一個類A,類A里聲明了一個成員函數void f(),但沒有在類的聲明里給 出f的定義,那么在類外定義f時, 就要寫成void A::f(),表示這個f()函數是類A的成員函數。
3)表示引用成員函數及變量,作用域成員運算符
例: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。