C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数
生活随笔
收集整理的這篇文章主要介紹了
C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、默認(rèn)構(gòu)造函數(shù)
- 沒有參數(shù);
- 若有參數(shù),則一定全部都有默認(rèn)的參數(shù)值。
2、初始化列表
(1)概念
(2)特性
- 建議用初始化列表來初始化數(shù)據(jù)成員。
- 初始化列表先于構(gòu)造函數(shù)執(zhí)行;
- 初始化列表只能用于構(gòu)造函數(shù);
- 初始化列表可以同時初始化多個數(shù)據(jù)成員。
(3)必要性
- 如果需要給const修飾的數(shù)據(jù)成員賦值,必須用初始化列表。
? ??
3、拷貝構(gòu)造函數(shù)
(1)為什么要拷貝構(gòu)造函數(shù)?見博客http://blog.csdn.net/zhhymh/article/details/6249219
(2)拷貝構(gòu)造函數(shù)的定義格式
- 如果沒有自定義的拷貝構(gòu)造函數(shù),則系統(tǒng)自動生成一個默認(rèn)的拷貝構(gòu)造函數(shù);
- 當(dāng)采用復(fù)制初始化實例化對象時,系統(tǒng)自動調(diào)用拷貝構(gòu)造函數(shù)。
- 以下是函數(shù)傳參時,調(diào)用拷貝構(gòu)造函數(shù)。(這里沒有剪切完整的代碼)
4、構(gòu)造函數(shù)總結(jié)
構(gòu)造函數(shù)分為無參構(gòu)造函數(shù)、有參構(gòu)造函數(shù)
- 無參構(gòu)造函數(shù)是默認(rèn)構(gòu)造函數(shù);
- 有參構(gòu)造函數(shù)分為參數(shù)帶默認(rèn)值,參數(shù)無默認(rèn)值;其中如果參數(shù)帶默認(rèn)值,也算是默認(rèn)構(gòu)造函數(shù)
構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)都是自動調(diào)用的
- 我們先編寫好這些函數(shù),然后當(dāng)實例化或者復(fù)制初始化時,會自動調(diào)用這些函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文章发送到多平台软件:融媒宝
- 下一篇: c++远征之模板篇——友元函数、友元类