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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

c++ map 析构函数_C++|类继承关系中的虚函数、虚析构函数、虚基类

發布時間:2023/12/15 c/c++ 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ map 析构函数_C++|类继承关系中的虚函数、虚析构函数、虚基类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在繼承關系中,虛函數、虛析構函數、虛基類中使用的關鍵字virtual都是在告訴編譯器,此處要進行特殊處理:

虛函數:函數重寫時的要求編譯器動態綁定來實現多多態 ;

虛析構函數:當基類指針指向在堆內實現的派生類的動態對象時,virtaul聲明的基類析構函數是告訴編譯器,還要調用派生類的析構函數。

虛基類:當派生類有多重繼承和多繼承時,在繼承鏈上有兩個子類繼承自同一基類時,此兩個子類作為基類再次派生出一個類,若只想保存這兩個子類的基類的一個實例,需用virtual來聲明繼承關系,編譯器對虛基類只實現一個實例,從而避免二義性。

1 虛函數

面向對象的在繼承時要實現動態多態,需要用關鍵字virtual告訴編譯器,由編譯器在編譯時生成一個虛函數表,程序運行時實現每個對象通過一個自動添加的函數指針來動態綁定一個函數去實現多態:

#includeclass CShape{public:virtual double Area(){cout<Area()<Area()<

2 虛析構函數

在實現多態時,如果是由基類指針指向在堆上動態創建派生對象時,如果delete此虛類指針,則基類的析構函數被調用,并不會調用派生類的析構函數,如果派生類中有在堆上動態創建的數據時,則會出現內存泄露。C++編譯器的做法時,如果基類的析構函數前面有用virtual修飾,編譯器會自動去調用派生類的析構函數(實現動態綁定,如果其它成員函數的動態綁定一樣),做內存釋放的工作。

如果某個類不包含虛函數,那一般是表示它將不作為一個基類來使用。當一個類不準備作為基類使用時,使析構函數為虛一般是個壞主意。因為它會為類增加一個虛函數表,使得對象的體積翻倍,還有可能降低其可移植性。實際上,很多人這樣總結:當且僅當類里包含至少一個虛函數的時候才去聲明虛析構函數。

虛析構函數是為了解決這樣的一個問題:基類的指針指向派生類對象,并動態調用派生類的析構函數。

#include using namespace std;class CSon{public:~CSon(){cout<

3 虛基類

當在多條繼承路徑上有一個公共的基類,在這些路徑中的某幾條匯合處,這個公共的基類就會產生多個實例(或多個副本),若只想保存這個基類的一個實例,可以將這個公共基類說明為虛基類。

如果將這種多繼承和多重繼承畫成圖形關系,會有菱形的圖案出現,稱為菱形繼承:

如圖,子類D最后會接受分別來自B和C的同一個或多個相同拷貝,從而產生了多個拷貝,即不止一次的通過多個路徑繼承類在內存中創建了基類成員的多份拷貝。而這些是B和C從父類繼承而來,所以D類該繼承B還是C傳下來的,還是都接受呢?這樣就產生歧義(二義性),虛基類的基本原則是在內存中只有基類成員的一份拷貝。這樣,通過把基類繼承聲明為虛擬的(virtual限定符),就只能繼承基類的一份拷貝,從而消除歧義。

#includeclass base { protected: int a; public: base(){ cout <

輸出結果為:0123,如果省略掉其中的關鍵字virtual,則輸出01023,可以看出,構造函數有重復調用。

-End-

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的c++ map 析构函数_C++|类继承关系中的虚函数、虚析构函数、虚基类的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产精品大屁股白浆一区 | 国产成人在线视频网站 | 色哟哟视频在线 | 午夜蜜桃视频 | 在线观看国产精品入口男同 | 亚洲熟妇丰满大屁股熟妇 | 玖玖伊人 | 久久ww| 亚洲成人黄 | 高清无码一区二区在线观看吞精 | 国产美女免费 | 国产chinesehd精品 | 欧美在线v | 久久久久久亚洲 | 欧美国产日韩在线视频 | 无码人妻一区二区三区精品视频 | 91精品国产麻豆 | 午夜成人在线视频 | 好看的毛片 | 亚洲欧美国产一区二区三区 | 国产专区在线视频 | 久久精品国产99久久久 | 久久午夜精品人妻一区二区三区 | 久久久国产精品视频 | 第五色婷婷 | 西西人体做爰大胆gogo直播 | 中文字幕 欧美激情 | www.av网址 | 欧美日本韩国在线 | 欧美午夜免费 | 红桃视频在线播放 | 国产aaa视频 | 97精品人妻一区二区三区 | 欧美激情性做爰免费视频 | 欧美性生活一区二区 | 久久理论 | 成人手机视频在线观看 | 99av国产精品欲麻豆 | 美国毛片网站 | 一区二区视频免费在线观看 | 香蕉人人精品 | 天天色综合1 | 三度诱惑免费版电影在线观看 | 国产视频在线观看一区 | 爱情岛论坛成人 | 人妻少妇久久中文字幕 | 亚洲一区二区三区四区五区xx | 雷电将军和丘丘人繁衍后代视频 | 老妇free性videosxx | 国产精品国产三级国产专区53 | 午夜剧场免费在线观看 | 成人福利一区二区 | 自拍毛片| 日本japanese极品少妇 | 超碰在线观看免费 | 伦理片一区二区三区 | 少妇高潮喷水在线观看 | 亚洲第三色 | 婷婷一级片 | 热播之家 | 亚日韩欧美 | 久久久久逼| 物业福利视频 | 国产 一二三四五六 | 久久久影视 | 亚洲精品成 | 久青草视频在线 | 干美女av | 黄色一级大片在线观看 | 黄色免费91 | 男人av在线 | 99一级片 | 国产黄色网络 | 亚洲欧美激情图片 | 7777精品久久久久久 | 国产大片一区 | 天天操妹子 | 欧美激情一区二区视频 | 免费看裸体网站视频 | 亚洲一二三区视频 | 亚洲xx网站 | 男女爱爱福利视频 | 亚洲一区美女 | 国产色中色| 国产一区亚洲一区 | 亚洲av色香蕉一区二区三区 | 99精品视频免费版的特色功能 | 欧美视频xxx | 老色批永久免费网站www | 午夜免费网 | 亚洲 欧美 激情 另类 | 婷婷伊人| 激情二区| 亚洲a网站| 国产又大又黑又粗免费视频 | 日本精品一区二区在线观看 | 成人高潮片| 色综合99久久久无码国产精品 | 性猛交ⅹxxx富婆视频 |