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

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • virtual使用的限制

    http://img1.sycdn.imooc.com//5e54fd9a0001dd8510420496.jpghttp://img1.sycdn.imooc.com//5e54fdb400014f3408650530.jpghttp://img1.sycdn.imooc.com//5e54fdd50001c2a809090529.jpg

    查看全部
  • 在多態(tài)的情況下虛函數(shù)表指針在對象當(dāng)中所占據(jù)的內(nèi)存位置是每個對象的前四個基本內(nèi)存單元

    查看全部
  • 接口類:

    類中僅含有純虛函數(shù)

    http://img1.sycdn.imooc.com//5e527f470001223611440408.jpg

    作用:表達一種能力或協(xié)議

    http://img1.sycdn.imooc.com//5e52809d00018cc609300363.jpg

    http://img1.sycdn.imooc.com//5e527faf000168b808090573.jpg



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

    2020-02-23

  • 純虛函數(shù):

    http://img1.sycdn.imooc.com//5e5276450001023b12040539.jpg

    含有純虛函數(shù)的類叫做抽象類。

    1、抽象類無法實例化對象

    2、抽象類的子類只有把父類所有純虛函數(shù)都做了抽象,才可以實例化對象。



    查看全部
  • typeid注意事項:

    type_id返回一個type_info對象的引用

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

    只能獲取對象的實際類型

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

    2020-02-22

  • dynamic_cast注意事項:

    只能應(yīng)用與指針和引用的轉(zhuǎn)換

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

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

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

    2020-02-22

  • 對象的大小是指在類實例化出的對象當(dāng)中,他的數(shù)據(jù)成員所占據(jù)的內(nèi)存大小,而不包括成員函數(shù)

    查看全部
  • 如果基類的析構(gòu)函數(shù)是虛函數(shù),這時只會看p所賦值的對象,如果p賦值的對象是派生類的對象,就會調(diào)用派生類的析構(gòu)函數(shù)(毫無疑問,在這之前也會先調(diào)用基類的構(gòu)造函數(shù),在調(diào)用派生類的構(gòu)造函數(shù),然后調(diào)用派生類的析構(gòu)函數(shù),基類的析構(gòu)函數(shù),所謂先構(gòu)造的后釋放);如果p賦值的對象是基類的對象,就會調(diào)用基類的析構(gòu)函數(shù),這樣就不會造成內(nèi)存泄露。

    如果基類的析構(gòu)函數(shù)不是虛函數(shù),在delete p時,調(diào)用析構(gòu)函數(shù)時,只會看指針的數(shù)據(jù)類型,而不會去看賦值的對象,這樣就會造成內(nèi)存泄露。

    查看全部
  • 1、多態(tài)

    定義:指相同對象收到不同消息 ? ? ?或 ?不同對象收到相同消息時產(chǎn)生的不同動作

    2、靜態(tài)多態(tài)(早綁定) 和 動態(tài)多態(tài)(晚綁定)

    靜態(tài)多態(tài):

    (1)virtual 作用就是父類的指針指向子類的對象

    (2)建立在繼承的基礎(chǔ)上 ?子類可以寫關(guān)鍵字 virtual 也可以不加,不加系統(tǒng)會自動添加(代碼的可讀性給加上)

    (3)有new 就得有 delete

    查看全部
  • 面向?qū)ο蟮娜筇卣髦?/p>

    1、啥事多態(tài)(1到多)

    2、虛函數(shù)(純虛函數(shù) -- 抽象類接口類 )

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

    3、RTTI(運行時類別識別)

    4、隱藏 ?覆蓋

    5、早綁定 晚綁定

    6、異常處理


    查看全部
  • virtual在函數(shù)中的使用限制:

    ·普通函數(shù)不能是虛函數(shù)(編譯錯誤)

    · 靜態(tài)成員函數(shù)不能是虛函數(shù)(編譯錯誤)

    http://img1.sycdn.imooc.com//5e4dead70001af3e08220398.jpg

    ·內(nèi)聯(lián)函數(shù)不能是虛函數(shù)(可編譯,編譯器忽略inline關(guān)鍵字是函數(shù)變?yōu)榧兇馓摵瘮?shù))

    http://img1.sycdn.imooc.com//5e4deb0a0001682406420358.jpg

    ·構(gòu)造函數(shù)不能是虛函數(shù)(編譯錯誤)


    查看全部
  • 通過虛析構(gòu)函數(shù)解決動態(tài)多態(tài)內(nèi)存泄漏問題

    查看全部
  • 定義一個動物(animal)類,要求含有虛函數(shù)eat和move,并定義構(gòu)造函數(shù)和虛析構(gòu)函數(shù)
    定義一個狗(Dog)類,要求共有繼承動物類,定義構(gòu)造函數(shù)和虛析構(gòu)函數(shù),并實現(xiàn)自己的eat和move函數(shù)

    使用父類對象實例化子類,調(diào)用子類成員函數(shù)

    #include <iostream>

    #include <stdlib.h>

    #include <string>

    using namespace std;


    /**

    ?*? 定義動物類:Animal

    ?*? 成員函數(shù):eat()、move()

    ?*/

    class Animal

    {

    public:

    ? ? // 構(gòu)造函數(shù)

    ? ? Animal(){cout << "Animal" << endl;}

    ? ? // 析構(gòu)函數(shù)

    virtual ~Animal(){cout << "~Animal" << endl;}

    ? ? // 成員函數(shù)eat()

    virtual void eat(){cout << "Animal -- eat" << endl;}

    ? ? // 成員函數(shù)move()

    virtual void move(){cout << "Animal -- move" << endl;}

    };


    /**

    ?* 定義狗類:Dog

    ?* 此類公有繼承動物類

    ?* 成員函數(shù):父類中的成員函數(shù)

    ?*/

    class Dog : public Animal

    {

    public:

    ? ? // 構(gòu)造函數(shù)

    Dog(){cout << "Dog" << endl;}

    ? ? // 析構(gòu)函數(shù)

    virtual ~Dog(){cout << "~Dog" << endl;}

    ? ? // 成員函數(shù)eat()

    virtual void eat(){cout << "Dog -- eat" << endl;}

    ? ? // 成員函數(shù)move()

    virtual void move(){cout << "Dog -- move" << endl;}

    };


    int main(void)

    {

    ? ? // 通過父類對象實例化狗類

    Animal *p = new Dog();

    ? ? // 調(diào)用成員函數(shù)

    p->eat();

    ? ? p->move();

    ? ? // 釋放內(nèi)存

    ? ? delete p;

    ? ? p = NULL;

    ? ??

    return 0;

    }


    查看全部
    0 采集 收起 來源:鞏固練習(xí)

    2020-02-16

  • 在某一個類的定義中,其構(gòu)造函數(shù)中申請內(nèi)存,即存在"has a"的情況,析構(gòu)函數(shù)中釋放內(nèi)存。

    如果在使用該類時涉及多態(tài)狀況,則會發(fā)生內(nèi)存泄漏,因為析構(gòu)函數(shù)中的釋放內(nèi)存沒有被運行到。

    ——虛析構(gòu)函數(shù):用virtual去修飾析構(gòu)函數(shù)

    !1!普通函數(shù)不能是虛函數(shù),函數(shù)必須是某個類的成員函數(shù)

    !2!靜態(tài)的成員函數(shù)不能是虛函數(shù)

    !3!內(nèi)聯(lián)函數(shù)不能是虛函數(shù)

    !4!構(gòu)造函數(shù)不能是虛函數(shù)

    查看全部
  • 靜態(tài)多態(tài)(早綁定):成員函數(shù)同名,但參數(shù)數(shù)目不同時,調(diào)用成員函數(shù)使用的參數(shù)個數(shù)決定了啟用不同的成員函數(shù)。

    動態(tài)多態(tài)(晚綁定):以封裝和繼承為基礎(chǔ),父類指針指向子類類型時,要用virtual去修飾子類中已經(jīng)重定義的成員函數(shù)(虛函數(shù)),否則使用的是父類的定義的成員函數(shù);子類中的同名成員函數(shù)virtual可加可不加,系統(tǒng)默認(rèn)補全。

    ”父類指針指向子類對象,通過父類指針只能尋址到從父類繼承到的成員函數(shù)與數(shù)據(jù)成員,子類擴展的將會被截斷。但是,如果將父類中同名函數(shù)設(shè)置為虛函數(shù),創(chuàng)建子類對象時將會創(chuàng)建子類自有的虛函數(shù)表,虛函數(shù)表指向的成員函數(shù)將覆蓋父類中的同名函數(shù)?!?/p>

    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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