C++中建構函式後的初始化列表
本人程式設計時遇到建構函式後面的的冒號不知其意,雖查書一看,簡析C++中冒號和雙冒號的用法進行了介紹
一、單冒號
一、單冒號
(1)表示機構內位域的定義(即該變數佔幾個bit空間)
程式碼示例如下:
typedef struct _Test
{
unsigned char a:4;
unsigned char c;
} Test;
(2)建構函式後面的冒號起分割作用,是類給成員變數賦值的方法,初始化列表,該初始化列表用於以下三種情況
1:初始化const成員
2:初始化引用成員
3:當呼叫基類的建構函式,而它擁有一組引數時
程式碼如下:
class _Test{
_Test() : y(0xc0)
{
//...
}
};
(3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public:”或"private:”出現為止。"private:"為預設處理。
(4)類名冒號後面的是用來定義類的繼承。
程式碼如下:
class 派生類名 : 繼承方式 基類名
{
派生類的成員
};
繼承方式:public、private和protected,預設處理是private。
二、雙冒號(::)用法
(1)表示域操作符
當在類外定義的時候成員的時候會在這些成員前面加上
類名:: ,以表示其所屬類
在引用靜態成員時會用到,形如:類名::靜態成員
(2)直接用在全域性函式前,表示是全域性函式
有VC程式設計的同學你會發現,在VC裡,你可以在呼叫API 函式時,在API函式名前加::,加了::代表是全域性函式,呼叫API全域性函式也可以不加,但是如果你的VC程式裡有與全域性函式同名的自己定義的函式,為了加以區分,我們在全域性函式前加上::
相關文章
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- C++——建構函式之初始化列表C++函式
- C++ 類建構函式初始化列表介紹C++函式
- c++中使用建構函式初始化列表的情況C++函式
- C++ 建構函式 explicit 關鍵字 成員初始化列表C++函式
- C++建構函式初始化順序C++函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- C++ 建構函式和解構函式C++函式
- 【C++】建構函式C++函式
- C++建構函式C++函式
- C++ 類建構函式和解構函式C++函式
- 【C++】類初探常量成員函式與建構函式初始值列表C++函式
- C/C++—— C++中建構函式不能是虛擬函式的原因分析C++函式
- C/C++——建構函式、複製建構函式和解構函式的執行時刻C++函式
- 類的陣列初始化後會呼叫拷貝建構函式陣列函式
- C++入門記-建構函式和解構函式C++函式
- [C++]顯示呼叫建構函式和解構函式C++函式
- C++建構函式解構函式的執行過程C++函式
- javascript中初始化建構函式時new所起的作用JavaScript函式
- C++ 類中呼叫基類帶引數建構函式以及常量如何初始化C++函式
- c++中內建函式C++函式
- C++語言之結構體、類、建構函式、拷貝建構函式C++結構體函式
- C++複製建構函式C++函式
- c++建構函式詳解C++函式
- c++ 的學習 建構函式1C++函式
- 關於C++中建構函式的常見疑問C++函式
- C++再議建構函式及複製建構函式深度複製C++函式
- c++建構函式詳解薦C++函式
- 繼承中的建構函式繼承函式
- C#中的建構函式C#函式
- C++:建構函式的分類和呼叫C++函式
- [cpp]C++中的解構函式C++函式
- java中靜態初始化塊,例項初始化塊,建構函式區別Java函式
- C++ Daily 《3》----建構函式可否是虛擬函式C++AI函式
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 類的建構函式和解構函式函式
- C++型別轉換建構函式C++型別函式
- C++拷貝建構函式詳解C++函式