第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • 判斷對(duì)象類型

    查看全部
    0 采集 收起 來源:[C++]RTTI

    2018-12-29

  • 抽象類無法實(shí)例化對(duì)象

    查看全部
  • 虛函數(shù)調(diào)用過程

    查看全部
  • 子類中同名函數(shù)也要加關(guān)鍵字

    查看全部
  • 在父類中把想要實(shí)現(xiàn)多態(tài)的成員函數(shù),定義為虛函數(shù)

    查看全部
  • 動(dòng)態(tài)多態(tài)用到的虛函數(shù)

    查看全部
  • 什么是多態(tài)

    查看全部
  • 【異常處理的關(guān)鍵字】try…catch…? ? ? throw

    try和catch可以是一對(duì)多的

    常見的異常:數(shù)組下標(biāo)越界、除數(shù)為0、內(nèi)存不足


    查看全部
    0 采集 收起 來源:[C++]異常處理

    2018-12-27

  • 【RTTI(Run-Time-Type-Identification)】運(yùn)行時(shí)類型識(shí)別

    void?dosomething(Flyable?*obj){
    ????obj->takeoff();
    ????obj->land();
    ????//使用RTTI
    ????cout?<<?typeid(*obj).name()?<<?endl;?//打印出指針obj實(shí)際指向的類型
    ????if(typeid(*obj)==typeid(Bird)){???//如果當(dāng)前obj指向一個(gè)Bird類型
    ????????Bird?*bird=dynamic_cast<Bird?*>(obj);?//將obj轉(zhuǎn)化為一個(gè)Bird*類型
    ????????bird->foraging();??//調(diào)用Bird類中的函數(shù)foraging();
    ????}
    }

    【dynamic_cast使用的注意事項(xiàng)】:

    1、只能應(yīng)用于指針的轉(zhuǎn)換或引用的轉(zhuǎn)換,而不是某個(gè)類型本身(<Bird *>要加上星號(hào))

    2、要轉(zhuǎn)換的類型中必須包含虛函數(shù)

    3、轉(zhuǎn)換成功,則返回子類的地址;失敗則返回NULL

    【typeid使用的注意事項(xiàng)】:

    1、返回一個(gè)type_info對(duì)象的引用

    2、如果想通過基類的指針獲得派生類的數(shù)據(jù)類型,則基類必須有虛函數(shù)

    3、只能獲取對(duì)象的實(shí)際類型

    查看全部
    0 采集 收起 來源:[C++]RTTI

    2018-12-27

  • 【接口類】?jī)H含有純虛函數(shù)的類(沒有任何數(shù)據(jù)成員,僅有成員函數(shù)且都是純虛函數(shù)),在實(shí)際應(yīng)用中更多地用來表達(dá)一種能力/協(xié)議

    class?Flyable{
    public:
    ????virtual?void?takeoff()=0;//起飛
    ????virtual?void?land()=0;//降落
    };


    查看全部
    0 采集 收起 來源:[C++]接口類

    2018-12-27

  • class?Shape{
    public:
    ????virtual?double?calcArea(){return?0};//虛函數(shù)
    ????virtual?double?calcPerimeter()=0;//純虛函數(shù)(在后面加“=0”)
    }

    【抽象類】含有純虛函數(shù)的類,無法實(shí)例化對(duì)象,其子類也可以是抽象類,也可以不是(只有當(dāng)子類不是抽象類,即對(duì)所有函數(shù)都實(shí)現(xiàn)了,才可以用這個(gè)子類實(shí)例化對(duì)象)

    查看全部
  • 父類數(shù)據(jù)成員中會(huì)有一個(gè)【虛函數(shù)表指針】,指向一個(gè)虛函數(shù)表,在表中相應(yīng)虛函數(shù)(比如計(jì)算面積)的入口地址,從而找到當(dāng)前定義的虛函數(shù)

    當(dāng)實(shí)例化一個(gè)子類的時(shí)候,由于當(dāng)中沒有定義虛函數(shù),但是從父類中繼承了,所以在實(shí)例化時(shí)會(huì)產(chǎn)生一個(gè)虛函數(shù)表(跟父類中的不是同一個(gè)),但是相應(yīng)函數(shù)(比如計(jì)算面積)的函數(shù)指針是一樣的(同樣的入口地址)

    但是如果子類中的相應(yīng)函數(shù)是一個(gè)虛函數(shù),則相應(yīng)的函數(shù)指針就會(huì)覆蓋父類的函數(shù)指針(不再是相同的入口地址)

    【虛析構(gòu)函數(shù)可以防止內(nèi)存泄露的理論前提】執(zhí)行完子類的析構(gòu)函數(shù)就會(huì)執(zhí)行父類的析構(gòu)函數(shù)

    查看全部
  • 【動(dòng)態(tài)多態(tài)的內(nèi)存泄露問題】

    使用delete銷毀父類指針,只會(huì)執(zhí)行父類的析構(gòu)函數(shù)

    銷毀子類指針,會(huì)執(zhí)行父類和子類的析構(gòu)函數(shù)

    但在多態(tài)中,是用一個(gè)父類的指針指向一個(gè)子類的內(nèi)存,因此無法執(zhí)行子類的析構(gòu)函數(shù)

    Shape?*s1=new?Circle(3,4,5.0);

    使用【虛析構(gòu)函數(shù)】來解決

    virtual?~Shape();

    【virtual在修飾函數(shù)時(shí)的限制】

    1、不能修飾普通函數(shù),必須是【某個(gè)類】的成員函數(shù),不能是全局函數(shù)

    2、不能修飾靜態(tài)成員函數(shù)

    virtual?static?int?getCount();?//錯(cuò)誤

    3、不能修飾內(nèi)聯(lián)函數(shù)

    inline?virtual?int?eat();//計(jì)算機(jī)就會(huì)忽略掉inline關(guān)鍵字

    4、不能修飾構(gòu)造函數(shù)

    查看全部
  • 相同對(duì)象收到不同消息,或不同對(duì)象收到相同消息時(shí)產(chǎn)生的不同動(dòng)作

    1、早綁定/靜態(tài)多態(tài)

    public:
    ????int?Area(int?width);
    ????int?Area(int?width,int?height);?//互為重載

    程序在編譯階段就已經(jīng)確定到底要使用哪個(gè)函數(shù)了(傳入?yún)?shù)的個(gè)數(shù)不同)

    2、晚綁定/動(dòng)態(tài)多態(tài):必須以封裝和繼承為基礎(chǔ)

    用virtual關(guān)鍵詞修飾成員函數(shù)(修飾想要實(shí)現(xiàn)多態(tài)的成員函數(shù)),使之成為虛函數(shù)


    查看全部
  • 面向?qū)ο蟮娜筇卣鳎悍庋b、多態(tài)、繼承

    查看全部

舉報(bào)

0/150
提交
取消
課程須知
本課程是C++初級(jí)課程 1、熟練掌握C++語言基礎(chǔ)語法
老師告訴你能學(xué)到什么?
1、虛函數(shù)、虛析構(gòu)函數(shù)、純虛函數(shù) 2、抽象類和接口類 3、運(yùn)行時(shí)類別異常 4、異常處理

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!