91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣通過函數實現C++多態性

發布時間:2021-10-27 18:25:18 來源:億速云 閱讀:135 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關怎樣通過函數實現C++多態性,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

C++多態性主要體現在虛函數的調用,在C++中,虛函數的調用使用的是動態綁定,也有人說是晚捆綁,也就是在程序運行時才決定調用的函數,即使程序員不知道對象類型,程序仍然可以作出適合該對象類型的行為。

簡單的說,虛函數就是在函數原型前加上virtual關鍵字。函數一旦被聲明為虛函數,即使類在改寫它的時候沒有將其聲明為虛函數,它從該點的繼承層次結構中仍然是虛函數。如果基類中一個函數被聲明為虛函數,在若干子類中有著不同的實現,那么我們在創建若干子類的不同對象時,可以用基類的指針或者引用來指明子類對象并且調用相應子類的函數。

虛函數的定義方式如下:

◆類的靜態成員函數不可以定義為虛函數;
◆類的構造函數不可以定義為虛函數;
◆非類的函數不可以定義為虛函數。

純虛函數是在聲明虛函數時初始化為0的函數。

#include<memory> #include<iostream> using namespace std;  Virtual void print() const = 0;

抽象類

簡單的說,帶有一個或多個未實現的純虛函數的類是抽象類。如果一個類繼承自一個抽象類,但它沒有全部實現父類里面所有的純虛函數,那么那些純虛函數在子類中仍然是純虛的,這個子類仍然是抽象類,仍然不能實例化對象。

抽象類是一種特殊的類,只能作為基類來使用,其純函數的實現由派生類給出。雖然不能實例化抽象類,但我們可以聲明一個抽象類的指針和引用,在實例化對象時,可以用不同的子類來實現,從而實現多態性操作。只有當派生類將基類中的所有的純虛函數都實現的時候,它才不再是抽象類。

C++多態性

從廣義上說,C++多態性是指一段程序能夠處理多種類型對象的能力。在C++語言中,多態性可以通過強制多態、重載多態、類型參數化多態、包含多態等多種實現形式。所謂多態就是通過類的繼承,使得同一個函數可以根據調用他的對象的類型作出不同的響應。它也繼承和重載共同構成面向對象的3大編程特性。

C++多態性通過虛函數來實現,當我們用基類的指針來調用虛函數時,程序會根據對象的屬性選擇其自身的函數實現。即使程序員不知道對象類型,程序仍然可以作出適合該對象類型的行為。

C++語言支持兩種類型的多態:一種是編譯時的多態(靜態多態),另一種是運行時的多態(動態多態)。在編譯時的多態是通過靜態聯編實現的,而在運行時的多態則是通過動態聯編實現的。

上述就是小編為大家分享的怎樣通過函數實現C++多態性了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

宁陕县| 双城市| 微博| 长汀县| 丰都县| 渝北区| 周至县| 兴义市| 鄂伦春自治旗| 仪征市| 丰原市| 乌兰浩特市| 木兰县| 田东县| 双城市| 江安县| 汪清县| 和平县| 阳泉市| 鸡东县| 新野县| 田林县| 澄江县| 临潭县| 中宁县| 宝鸡市| 昌都县| 金堂县| 南召县| 富阳市| 油尖旺区| 鸡泽县| 桓仁| 望谟县| 五常市| 木里| 武宣县| 无锡市| 大名县| 江孜县| 建平县|