日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

《C++ Primer Plus(第六版)》(25)(第十三章 类继承 笔记)

發布時間:2023/12/10 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《C++ Primer Plus(第六版)》(25)(第十三章 类继承 笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.派生類構造函數的要點:

? ? 首先創建基類對象;

? ? 應通過成員初始化列表將基類的初始化信息傳遞給基類的構造函數;

? ? 派生類構造函數應初始化新增的數據成員


2.首先執行派生類的析構函數,然后自動調用基類的析構函數.


3.基類指針可以在不進行顯式類型轉換的情況下指向派生類對象,基類引用可以在不進行顯式類型轉換的情況下引用派生類對象.


4.C++有三種繼承方式,共有繼承,私有繼承和保護繼承


5.帶有virtual的方法,在調用的時候,將調用指針或者引用所指向的具體對象的類的方法.

基類聲明中如果析構函數為虛,可以確保釋放派生類的時候,按照正確的順序來調用析構函數.


6.在編譯過程中進行的聯編稱為靜態聯編,或早期聯編。編譯器對非虛方法使用靜態聯編。

程序運行時選擇正確的虛函數的代碼,被稱為動態聯編,又稱為晚期聯編。

靜態聯編效率高,是默認的聯編方式。

如果需要在派生類中重新定義基類的方法,則將它設置為虛方法,否則是非虛的。

C++中,基類有虛函數表,聲明派生類的時候,如果重載了基類的虛函數,則會替換掉虛函數表中該函數的地址。


7.構造函數被聲明為虛是沒有意義的。

析構函數應當是虛函數。


8.在子類中,重新定義函數,并不會形成重載,而是屏蔽掉父類的同名方法。

想要重載父類方法,函數的特征標應該完全相同,但是如果返回的是父類的引用或指針,則可以改成子類的引用或指針。這被稱為返回類型協變(covariance of return type)

如果父類中有多個同名函數,而子類只重載了一個,則剩下的函數版本會被屏蔽掉。子類只能使用重載的那個函數。


9.包含純虛函數的類,只能作為基類使用。

抽象基類(abstract base class, ABC)抽象基類

純虛函數,仍然可以提供函數的實現。聲明了=0,只是表示可以不定義,而不是不能定義。



轉載于:https://www.cnblogs.com/fablegame/p/6430239.html

總結

以上是生活随笔為你收集整理的《C++ Primer Plus(第六版)》(25)(第十三章 类继承 笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。