哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文詳解虛函數(shù)及其相關(guān)知識(shí)點(diǎn)

C語(yǔ)言編程學(xué)習(xí)基地 ? 來(lái)源:C語(yǔ)言編程學(xué)習(xí)基地 ? 作者: C語(yǔ)言編程 ? 2021-10-13 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本期是C++基礎(chǔ)語(yǔ)法分享的第七節(jié),今天給大家來(lái)分享一下:

(1)虛析構(gòu)函數(shù);

(2)純虛函數(shù);

(3)虛函數(shù)、純虛函數(shù);

(4)虛函數(shù)指針、虛函數(shù)表;

(5)虛繼承;

(6)虛繼承、虛函數(shù);

(7)模板類(lèi)、成員模板、虛函數(shù);

(8)抽象類(lèi)、接口類(lèi)、聚合類(lèi);

虛析構(gòu)函數(shù)

虛析構(gòu)函數(shù)是為了解決基類(lèi)的指針指向派生類(lèi)對(duì)象,并用基類(lèi)的指針刪除派生類(lèi)對(duì)象。

虛析構(gòu)函數(shù)使用

class Shape{public: Shape(); // 構(gòu)造函數(shù)不能是虛函數(shù) virtual double calcArea(); virtual ~Shape(); // 虛析構(gòu)函數(shù)};class Circle : public Shape // 圓形類(lèi){public: virtual double calcArea(); 。。。};int main(){ Shape * shape1 = new Circle(4.0); shape1-》calcArea(); delete shape1; // 因?yàn)镾hape有虛析構(gòu)函數(shù),所以delete釋放內(nèi)存時(shí),先調(diào)用子類(lèi)析構(gòu)函數(shù),再調(diào)用基類(lèi)析構(gòu)函數(shù),防止內(nèi)存泄漏。 shape1 = NULL; return 0;}

純虛函數(shù)

純虛函數(shù)是一種特殊的虛函數(shù),在基類(lèi)中不能對(duì)虛函數(shù)給出有意義的實(shí)現(xiàn),而把它聲明為純虛函數(shù),它的實(shí)現(xiàn)留給該基類(lèi)的派生類(lèi)去做。

virtual int A() = 0;

虛函數(shù)、純虛函數(shù)

類(lèi)里如果聲明了虛函數(shù),這個(gè)函數(shù)是實(shí)現(xiàn)的,哪怕是空實(shí)現(xiàn),它的作用就是為了能讓這個(gè)函數(shù)在它的子類(lèi)里面可以被覆蓋(override),這樣的話,編譯器就可以使用后期綁定來(lái)達(dá)到多態(tài)了。純虛函數(shù)只是一個(gè)接口,是個(gè)函數(shù)的聲明而已,它要留到子類(lèi)里去實(shí)現(xiàn)。

虛函數(shù)在子類(lèi)里面可以不重寫(xiě);但純虛函數(shù)必須在子類(lèi)實(shí)現(xiàn)才可以實(shí)例化子類(lèi)。

虛函數(shù)的類(lèi)用于 “實(shí)作繼承”,繼承接口的同時(shí)也繼承了父類(lèi)的實(shí)現(xiàn)。純虛函數(shù)關(guān)注的是接口的統(tǒng)一性,實(shí)現(xiàn)由子類(lèi)完成。

帶純虛函數(shù)的類(lèi)叫抽象類(lèi),這種類(lèi)不能直接生成對(duì)象,而只有被繼承,并重寫(xiě)其虛函數(shù)后,才能使用。抽象類(lèi)被繼承后,子類(lèi)可以繼續(xù)是抽象類(lèi),也可以是普通類(lèi)。

虛基類(lèi)是虛繼承中的基類(lèi),暫不做詳細(xì)說(shuō)明。

虛函數(shù)指針、虛函數(shù)表

虛函數(shù)指針:在含有虛函數(shù)類(lèi)的對(duì)象中,指向虛函數(shù)表,在運(yùn)行時(shí)確定。

虛函數(shù)表:在程序只讀數(shù)據(jù)段,存放虛函數(shù)指針,如果派生類(lèi)實(shí)現(xiàn)了基類(lèi)的某個(gè)虛函數(shù),則在虛表中覆蓋原本基類(lèi)的那個(gè)虛函數(shù)指針,在編譯時(shí)根據(jù)類(lèi)的聲明創(chuàng)建。

虛繼承

虛繼承用于解決多繼承條件下的菱形繼承問(wèn)題(浪費(fèi)存儲(chǔ)空間、存在二義性)。

底層實(shí)現(xiàn)原理與編譯器相關(guān),一般通過(guò)虛基類(lèi)指針和虛基類(lèi)表實(shí)現(xiàn),每個(gè)虛繼承的子類(lèi)都有一個(gè)虛基類(lèi)指針(占用一個(gè)指針的存儲(chǔ)空間,4字節(jié))和虛基類(lèi)表(不占用類(lèi)對(duì)象的存儲(chǔ)空間)(需要強(qiáng)調(diào)的是,虛基類(lèi)依舊會(huì)在子類(lèi)里面存在拷貝,只是僅僅最多存在一份而已,并不是不在子類(lèi)里面了);當(dāng)虛繼承的子類(lèi)被當(dāng)做父類(lèi)繼承時(shí),虛基類(lèi)指針也會(huì)被繼承。

實(shí)際上,vbptr 指的是虛基類(lèi)表指針(virtual base table pointer),該指針指向了一個(gè)虛基類(lèi)表(virtual table),虛表中記錄了虛基類(lèi)與本類(lèi)的偏移地址;通過(guò)偏移地址,這樣就找到了虛基類(lèi)成員,而虛繼承也不用像普通多繼承那樣維持著公共基類(lèi)(虛基類(lèi))的兩份同樣的拷貝,節(jié)省了存儲(chǔ)空間。

虛繼承、虛函數(shù)

相同之處:都利用了虛指針(均占用類(lèi)的存儲(chǔ)空間)和虛表(均不占用類(lèi)的存儲(chǔ)空間)

不同之處:

虛繼承

(1)虛基類(lèi)依舊存在繼承類(lèi)中,只占用存儲(chǔ)空間

(2)虛基類(lèi)表存儲(chǔ)的是虛基類(lèi)相對(duì)直接繼承類(lèi)的偏移

虛函數(shù)

(1)虛函數(shù)不占用存儲(chǔ)空間

(2)虛函數(shù)表存儲(chǔ)的是虛函數(shù)地址

模板類(lèi)、成員模板、虛函數(shù)

模板類(lèi)中可以使用虛函數(shù)

一個(gè)類(lèi)(無(wú)論是普通類(lèi)還是類(lèi)模板)的成員模板(本身是模板的成員函數(shù))不能是虛函數(shù)

抽象類(lèi)、接口類(lèi)、聚合類(lèi)

抽象類(lèi):含有純虛函數(shù)的類(lèi)

接口類(lèi):僅含有純虛函數(shù)的抽象類(lèi)

聚合類(lèi):用戶可以直接訪問(wèn)其成員,并且具有特殊的初始化語(yǔ)法形式。滿足如下特點(diǎn):

(1)所有成員都是 public

(2)沒(méi)有定義任何構(gòu)造函數(shù)

(3)沒(méi)有類(lèi)內(nèi)初始化

(4)沒(méi)有基類(lèi),也沒(méi)有 virtual 函數(shù)

今天的分享就到這里了,大家要好好學(xué)C++喲~

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Virtual
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    12732
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4421

    瀏覽量

    67815
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    484

    瀏覽量

    71947

原文標(biāo)題:C++基礎(chǔ)語(yǔ)法梳理:虛函數(shù)及其相關(guān)知識(shí)點(diǎn)

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    示波器小知識(shí)點(diǎn)

    示波器的系統(tǒng)帶寬:是指個(gè)逐漸升高頻率的正弦輸入信號(hào)顯示幅度下降3dB時(shí)的頻率點(diǎn)。測(cè)試信號(hào)般是方波,而方波信號(hào)由基波及奇次諧波組成。如果用示波器去測(cè)個(gè)方波,需要注意示波器應(yīng)從頻率上
    的頭像 發(fā)表于 04-16 11:04 ?37次閱讀
    示波器小<b class='flag-5'>知識(shí)點(diǎn)</b>

    【黑金云課堂筆記】第三期知識(shí)點(diǎn)總結(jié)

    ,對(duì) FPGA 免費(fèi)直播課的熱情也感染到了黑金云課堂的老師們。接下來(lái)我們會(huì)再接再厲,把每期直播都做得更扎實(shí) ? 更多精彩課程歡迎關(guān)注我們 黑金云課堂全年免費(fèi)直播課 ,現(xiàn)在讓我們先來(lái)回顧下上周的知識(shí)點(diǎn)精華—— ? 數(shù)據(jù)類(lèi)型 常
    的頭像 發(fā)表于 04-01 16:08 ?150次閱讀
    【黑金云課堂筆記】第三期<b class='flag-5'>知識(shí)點(diǎn)</b>總結(jié)

    Linux內(nèi)核伙伴系統(tǒng)內(nèi)存申請(qǐng)函數(shù)詳解:從原理到實(shí)戰(zhàn)

    在 Linux 內(nèi)核中,內(nèi)存管理是整個(gè)系統(tǒng)穩(wěn)定運(yùn)行的基石,而伙伴系統(tǒng)(Buddy System) 作為內(nèi)核物理內(nèi)存分配的核心機(jī)制,更是驅(qū)動(dòng)開(kāi)發(fā)、內(nèi)核模塊開(kāi)發(fā)的必備知識(shí)點(diǎn)。它通過(guò) "2 的冪
    的頭像 發(fā)表于 02-10 16:58 ?3712次閱讀
    Linux內(nèi)核伙伴系統(tǒng)內(nèi)存申請(qǐng)<b class='flag-5'>函數(shù)</b><b class='flag-5'>詳解</b>:從原理到實(shí)戰(zhàn)

    帶你徹底搞懂K8s網(wǎng)絡(luò)

    說(shuō)實(shí)話,K8s 網(wǎng)絡(luò)是我見(jiàn)過(guò)最讓新手頭疼的知識(shí)點(diǎn),沒(méi)有之。記得我剛接觸 K8s 那會(huì)兒,看著流量在 Pod、Service、Node 之間穿梭,完全是臉懵逼。后來(lái)踩了無(wú)數(shù)坑,熬了無(wú)數(shù)夜,總算把這套網(wǎng)絡(luò)模型摸透了。今天這篇文章
    的頭像 發(fā)表于 02-06 10:15 ?671次閱讀

    跨阻放大器的斷如何分析以及電流的流向?

    理想電流源直接接在運(yùn)放兩端,信號(hào)源兩端是有電壓的,并引入負(fù)反饋,續(xù)短斷仍然成立,那電流豈不是從gnd到gnd,如果能明白這一點(diǎn),我想應(yīng)該明白了反饋和實(shí)際運(yùn)放和理想運(yùn)放的差異。 有兩個(gè)問(wèn)題請(qǐng)教: 1
    發(fā)表于 09-02 22:40

    【「Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)」閱讀體驗(yàn)】01初讀體驗(yàn)

    已閱讀部分 由于知識(shí)點(diǎn)屬于循序漸進(jìn),目前花了幾天時(shí)間讀到了第4章, 第章到第二章,主要講yocto相關(guān)的背景知識(shí),主要講解linux系統(tǒng)以及yocto
    發(fā)表于 06-30 21:49

    激光焊錫中焊產(chǎn)生的原因和解決方法

    激光焊錫是發(fā)展的非常成熟的種焊接技術(shù),但是在些參數(shù)控制不好的情況下,依然會(huì)產(chǎn)生些焊接問(wèn)題,比如說(shuō)焊的問(wèn)題。松盛光電來(lái)給大家介紹下激
    的頭像 發(fā)表于 06-25 09:41 ?1945次閱讀

    詳解開(kāi)關(guān)電源反饋環(huán)路設(shè)計(jì)

    傳遞函數(shù)中的零點(diǎn)、極點(diǎn),最終確定反饋補(bǔ)償網(wǎng)絡(luò)中各元件的參數(shù),以便獲得穩(wěn)定的帶寬適中的閉環(huán)控制系統(tǒng),使DC-DC 、AC-DC變換器具有良好的抗干擾性能。
    的頭像 發(fā)表于 06-05 17:02 ?3673次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>開(kāi)關(guān)電源反饋環(huán)路設(shè)計(jì)

    【「# 運(yùn)算放大器參數(shù)解析與LTspice應(yīng)用仿真」閱讀體驗(yàn)】+全書(shū)概覽與第章閱讀分享

    先來(lái)詳細(xì)閱讀下第章,分享下相關(guān)內(nèi)容。 第章主要介紹運(yùn)放的基礎(chǔ)知識(shí),學(xué)過(guò)模電的都很容易理解,可能教材上學(xué)過(guò)的忘記了, 這里可以作為摘出來(lái)的重點(diǎn)溫故知新復(fù)習(xí)下。全文沒(méi)有廢話,都是娓娓道
    發(fā)表于 05-22 23:18

    什么是運(yùn)放的短和

    在設(shè)計(jì)運(yùn)放電路的時(shí)候我們經(jīng)常會(huì)接觸到兩個(gè)詞,短和斷,今天就來(lái)和大家分享下什么是運(yùn)放的虛短和斷。我們?cè)O(shè)運(yùn)放的同相端電壓為up,電流為ip,反相端電壓是un,電流為in。在說(shuō)短和
    的頭像 發(fā)表于 05-16 19:33 ?2214次閱讀
    什么是運(yùn)放的<b class='flag-5'>虛</b>短和<b class='flag-5'>虛</b>斷

    C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍

    單片機(jī)關(guān)鍵知識(shí)點(diǎn)覽: 系列 1:?jiǎn)纹瑱C(jī)簡(jiǎn)敘 2:?jiǎn)纹瑱C(jī)引腳介紹 3:?jiǎn)纹瑱C(jī)存儲(chǔ)器結(jié)構(gòu) 4:第個(gè)單片機(jī)小程序 5:?jiǎn)纹瑱C(jī)延時(shí)程序分析 6:?jiǎn)纹瑱C(jī)并行口結(jié)構(gòu) 7:?jiǎn)纹瑱C(jī)
    發(fā)表于 05-15 14:00

    【必看】開(kāi)關(guān)電源中每個(gè)元器件的計(jì)算+51頁(yè)圖文詳解

    開(kāi)關(guān)電源的各個(gè)元器件怎么計(jì)算?損耗怎么估算?散熱器的大小怎么計(jì)算? 51頁(yè)圖文詳解帶你弄懂! 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)
    發(fā)表于 05-12 16:20

    電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總

    純分享帖,需要者可點(diǎn)擊附件獲取完整資料~~~*附件:電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總.pdf 【免責(zé)聲明】?jī)?nèi)容轉(zhuǎn)自今日電機(jī),因轉(zhuǎn)載眾多,無(wú)法確認(rèn)真正原始作者,故僅標(biāo)明轉(zhuǎn)載來(lái)源。版權(quán)歸原出處所有,純分享帖,侵權(quán)請(qǐng)聯(lián)系刪除內(nèi)容以保證您的權(quán)益。
    發(fā)表于 04-29 16:10

    模擬電路入門(mén)100個(gè)知識(shí)點(diǎn)

    電源之間必須加入個(gè)電阻。 5、電子技術(shù)分為模擬電子技術(shù)和數(shù)字電子技術(shù)兩大部分,其中研究在平滑、連續(xù)變化的電壓或電流信號(hào)下工作的電子電路及其技術(shù),稱(chēng)為模擬電子技術(shù)。 6、PN結(jié)反向偏置時(shí),PN結(jié)的內(nèi)
    發(fā)表于 04-25 15:51

    詳解錫膏工藝中的焊現(xiàn)象

    在錫膏工藝中,焊(Cold Solder Joint)是種常見(jiàn)的焊接缺陷,表現(xiàn)為焊點(diǎn)表面看似連接,但實(shí)際存在電氣接觸不良或機(jī)械強(qiáng)度不足的問(wèn)題。焊可能導(dǎo)致產(chǎn)品功能失效、可靠性下降甚至短路風(fēng)險(xiǎn)。以下從成因、表現(xiàn)、影響、檢測(cè)及預(yù)
    的頭像 發(fā)表于 04-25 09:09 ?3101次閱讀
    <b class='flag-5'>詳解</b>錫膏工藝中的<b class='flag-5'>虛</b>焊現(xiàn)象
    桐城市| 江永县| 襄汾县| 临清市| 北流市| 西宁市| 苗栗县| 隆尧县| 乡宁县| 乌什县| 道真| 萝北县| 遂川县| 唐河县| 株洲市| 泽普县| 阳新县| 武乡县| 双鸭山市| 东阿县| 运城市| 汾阳市| 清苑县| 台中市| 略阳县| 宜宾县| 嘉鱼县| 赣州市| 平遥县| 阳春市| 涡阳县| 黄骅市| 甘德县| 东方市| 苏州市| 石景山区| 西和县| 潮安县| 霍城县| 靖安县| 三亚市|