c++第二周筆記

C++ 第二周筆記

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

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

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

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

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

5.New 和delete .對于new和delete ,我學(xué)的有點(diǎn)亂,這部分的筆記等以后學(xué)透徹之后再補(bǔ)。

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

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

(2)繼承就是一個類派生出另一個類。繼承中一個重要的概念就是虛函數(shù),虛函數(shù)分為三種,一種是純虛函數(shù),一種還普通的虛函數(shù)還有一種是非虛函數(shù),分別對應(yīng)子類必須重寫父類的函數(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)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容