C/Cpp / 构造函数种类
生活随笔
收集整理的這篇文章主要介紹了
C/Cpp / 构造函数种类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-03-15 ?創建人:Ruo_Xiao
開發環境:VS2010
郵箱:xclsoftware@163.com2018-04-16 ?修改人:Ruo_Xiao
添加對類型轉換構造函數隱式轉換的抑制使用的說明,即:explicit。2019-06-19 ?修改人:Ruo_Xiao
修正對轉換構造函數的說明。
一、默認構造函數(無參數構造函數)
Father() {std::cout<<"我是默認構造函數!"<<std::endl;std::cout<<std::endl; }2、一般構造函數(重載構造函數)
- 這種構造函數類中可以有多個,但是形參類型或者個數不能相同,需要滿足C++重載原理。
- 栗子:
3、復制構造函數,即:拷貝構造函數
- 拷貝構造函數參數為類對象本身的引用,用于根據一個已存在的對象復制出一個新的該類的對象。
- 若沒有顯示的寫拷貝構造函數,則系統會在適當的時候創建一個默認的拷貝構造函數
- 栗子:
4、轉換構造函數
- 條件:構造函數只有一個參數,而且該參數不是本類的const引用。
- 作用:相當于C語言隱式類型轉換,相當于 類Test t = 100; // 就是t = Test(100);
- 栗子:
?
- 上述屬于隱式轉換,若不編寫者不想讓調用者執行該操作,即:必須顯示調用。則在構造函數聲明前面加上“explicit”即可。
5、等號運算符重載構造函數(賦值構造函數)
- 作用:兩個對象的數據成員進行賦值。
- 條件:等號兩邊的對象必須已經創建。
- 栗子:
?
(SAW:Game Over!)
?
總結
以上是生活随笔為你收集整理的C/Cpp / 构造函数种类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cpp 对象模型探索 / 深浅拷贝
- 下一篇: Cpp 对象模型探索 / 成员初始化列表