C++的“虛”應用
純虛擬函式
關於什麼是C++的純虛擬函式,這裡不在累贅闡述,可以參見百度。一句話說其結構就是virtual fun()=0,純虛擬函式的作用主要是實現更抽象化的介面。可以說是一種提高程式設計效率的機制,他的目的是告訴使用者這樣的類擁有的介面行為,但是其不會具體實現,由繼承他的子類派生類實現。相當於這樣的介面在具體的子類中表現的行為是不一樣的。注意有純虛擬函式的類成為抽象類,不可以例項化!!
虛擬函式
基類指標呼叫子類同名方法的應用,只要在方法前面加上virtual!
虛擬函式主要是應用在多型繼承,直接在函式介面前面加上virtual,父類中加有virtual的函式,其派生類的同名函式將會繼承的基礎上並代替這樣的函式介面,因此當其子類例項化時呼叫的介面將會是子類裡的同名函式方法,這很明顯,但是一般當不這麼用,引入虛擬函式的主要作用是實現多型,使用遲聯編技術,當其基類指標指向子類物件時候,此時基類呼叫的虛方法就是子類裡面的方法,注意注意!要跟覆蓋有區別,可以說覆蓋是子類和基類是沒有什麼任何關係的,不需要在基類的同名方法前面加virtual,派生類是在繼承的基礎上直接覆蓋同名方法,基類指標即使指向子類也無法呼叫子類的方法,只能是基類裡面的介面。
虛繼承
虛繼承主要解決是多繼承導致的多份重複,特別是菱形繼承,勢必導致基類重複備份。最好的解決方法就是在繼承的時候加上virtual,一種虛繼承機制。
公式 class b: virtual public a
相關文章
- [C++ Daily] 虛表與虛指標的理解C++AI指標
- C++純虛數的使用C++
- 伺服器虛擬化的應用前景伺服器
- 探一探快應用的虛實
- C++學習隨筆——C++仿函式的應用方法C++函式
- 徹底釋放虛擬化,Docker的應用Docker
- 虛擬音訊應用:Loopback Mac音訊OOPMac
- Loopback for Mac(虛擬音訊應用)OOPMac音訊
- c++ 讓你的應用支援相對路徑C++
- C++高階應用_設計模式C++設計模式
- C/C++ Qt TableWidget 表格元件應用C++QT元件
- tomcat中虛擬主機以及web應用程式的配置TomcatWeb
- FTP-Vsftpd的高階應用:虛擬使用者FTP
- C/C++ Qt StandardItemModel 資料模型應用C++QT模型
- C/C++ Qt 基礎通用元件應用C++QT元件
- C/C++ Qt ToolBar 選單元件應用C++QT元件
- C/C++ QT QChart 繪製元件應用C++QT元件
- 如何使用DevEco Studio建立Native C++應用devC++
- c++虛擬函式表C++函式
- 虛擬主播技術在智慧問答中的應用
- 在Linux中,如何進行虛擬化技術的應用?Linux
- VR虛擬現實表現出的三大應用特徵VR特徵
- C++ Qt開發:SqlTableModel對映元件應用C++QTSQL元件
- C/C++ Qt StatusBar 底部狀態列應用C++QT
- C/C++ Qt MdiArea 多窗體元件應用C++QT元件
- C/C++ Qt ListWidget 列表框元件應用C++QT元件
- C/C++ Qt 選擇夾TabWidget元件應用C++QT元件
- 國產網路卡:虛擬化應用,民族品牌
- C++ 介面(純虛擬函式)C++函式
- C++中虛表是什麼C++
- C++ 虛擬函式表解析C++函式
- 元宇宙技術對於虛擬模擬應用的影響元宇宙
- VR虛擬展廳設計在應用中表現的特點VR
- 伺服器虛擬化注意的五方面應用伺服器
- C/C++ Qt 資料庫與SqlTableModel元件應用C++QT資料庫SQL元件
- C/C++ Qt TreeWidget 單層樹形元件應用C++QT元件
- C/C++ Qt Dialog 對話方塊元件應用C++QT元件
- c++ 從vector擴容看noexcept應用場景C++