c++第二周筆記

C++ 第二周筆記

本周的內(nèi)容比較多,主要介紹了三個重要函數(shù): 拷貝構(gòu)造、拷貝賦值、析構(gòu)函數(shù)。

1.拷貝構(gòu)造函數(shù)。拷貝構(gòu)造函數(shù)用于將一個對象復制到新創(chuàng)建的對象中。也就是說它用于初始化過程中,而不是常規(guī)的賦值過程中??截悩?gòu)造函數(shù)的語法使用如下所示:

2.拷貝賦值函數(shù)。將一個對象的值賦值給另一個對象需要在類中添加拷貝賦值函數(shù)。如果對象中不含有指針,可以不自己定義拷貝賦值函數(shù),因為編譯器將調(diào)用自行定義的拷貝賦值函數(shù),但當對象中含有指針的時候,需要自己添加拷貝賦值函數(shù)。這里涉及到深拷貝和淺拷貝的概念,在這里就不細說了??截悩?gòu)造和拷貝賦值類似??截愘x值的語法如下:

3. 析構(gòu)函數(shù)。析構(gòu)函數(shù)的語法如下:

4.拷貝構(gòu)造、拷貝賦值、與初始化列聯(lián)表的一點思考。在第一周的時候,侯老師介紹了初始化列聯(lián)表的概念,那時候還不是很理解為什么使用初始化列聯(lián)表能夠提高效率。學完這周的內(nèi)容,突然明白。因為使用初始化列聯(lián)表只進行了一個拷貝構(gòu)造的動作,而使用普通的構(gòu)造函數(shù),要先構(gòu)造一個對象,然后再進行拷貝賦值,所以使用初始化列聯(lián)表能夠大大提高效率。

5.New 和delete .對于new和delete ,我學的有點亂,這部分的筆記等以后學透徹之后再補。

7.除了以上的概念,本周主要還是還介紹了類與類之間的聯(lián)系。 主要有繼承、復合和委托。

(1)復合和委托。其實復合和委托在概念上很像,都是 一個對象帶有另一個對象,不過復合是完全的包含另一個對象,而委托是包含指向另一個對象的指針,正如侯老師所說,其實委托就是composition by reference

(2)繼承就是一個類派生出另一個類。繼承中一個重要的概念就是虛函數(shù),虛函數(shù)分為三種,一種是純虛函數(shù),一種還普通的虛函數(shù)還有一種是非虛函數(shù),分別對應子類必須重寫父類的函數(shù)、子類可能重寫父類的函數(shù)、子類沒必要重寫父類的函數(shù)。

(3)最后一個概念就是這些關(guān)系下構(gòu)造函數(shù)和析構(gòu)函數(shù)是怎么使用的,其實很簡單,對于構(gòu)造函數(shù)而已,是由內(nèi)到外的,對于析構(gòu)函數(shù)而言是由外到類的,適用與以上所有講的類和類之間的關(guān)系

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,691評論 1 51
  • 1.C++三個特殊的函數(shù)(Big Three)拷貝構(gòu)造函數(shù),賦值構(gòu)造函數(shù)和析構(gòu)函數(shù)。一般情況下,一個類里面只要有指...
    林小七Raul閱讀 370評論 0 0
  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束,并將收入和稅金輸出到文件tax. out。 檢查...
    SeanC52111閱讀 3,114評論 0 3
  • 1. 讓自己習慣C++ 條款01:視C++為一個語言聯(lián)邦 為了更好的理解C++,我們將C++分解為四個主要次語言:...
    Mr希靈閱讀 2,999評論 0 13
  • 今天在得到 APP 上的「羅輯思維」欄目里讀到一篇文章,叫做「同構(gòu)學習法」。那么究竟什么是「同構(gòu)學習法」呢?文章里...
    落英墜露閱讀 819評論 0 0

友情鏈接更多精彩內(nèi)容