亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • C++中派生類對象可以賦值給基類,子類對象可以賦值給父類;

    反之不可以。

    用父類指針去指向子類對象也只能使用父類擁有的數據成員和成員函數

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

    2020-09-13

  • C++中父類和子類用法相同時,只能進行隱藏不能進行重載。

    查看全部
  • C++中的覆蓋和隱藏

    隱藏:

    訪問父類同名函數的方法:

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


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

    2020-09-13

  • C++中protected繼承:

    繼承到protected訪問限定符下:

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

    private私有繼承:
    http://img1.sycdn.imooc.com//5f5d7747000125d110470258.jpg

    查看全部
  • C++中public繼承中:

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


    查看全部
    0 采集 收起 來源:[C++]公有繼承

    2020-09-13

  • C++中繼承的代碼書寫方法:

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

    先調用父類構造函數在調用子類構造函數、先調用子類析構函數、在調用父類析構函數

    查看全部
    0 采集 收起 來源:代碼演示

    2020-09-13

  • ?虛基類是用關鍵字virtual聲明繼承的父類,即便該基類在多條鏈路上被一個子類繼承,但是該子類中只包含一個該虛基類的備份,虛基類主要用來解決繼承中的二義性問題,這就是是虛基類的作用所在。

    視頻里描述有誤,這里應該Person是虛基類。

    查看全部
  • 菱形繼承時,頂層基類會創建兩個對象,產生兩份成員數據,這是我們不想要的;虛繼承可以解決該問題,這種情況下,頂層基類不會從子類中獲取數據而使用自己的默認參數。

    查看全部
  • 如果父類 子類定義了同一個函數或屬性,則子類對象只能直接訪問子類的函數和屬性,這叫做隱藏。 但是上述情況下,子類對象可以通過間接方式訪問父類函數和屬性。
    查看全部
    0 采集 收起 來源:[C++]隱藏

    2020-05-29

  • 非virtual場景: 如果將子類對象復制給父類對象,則子類屬性會覆蓋父類屬性,但是父類對象只能訪問父類函數,而不能訪問子類函數。

    查看全部
  • 重定義:B繼承A,C繼承A,定義B,C類的時候就重復定義了A,此時需要解決重定義的問題

    #ifndef?PERSON_H ? ? ? ? ? ?? //#ifndef意思是如果沒有定義
    #define?PERSON_H
    ……
    #endif


    查看全部
  • 1Person *p=new Soldier;//用Person的指針指向堆中 soldier的對象

    p->play();

    delete p;

    p=NULL;

    發現這個時候析構函數調用的時候只調用了父類的析構函數,并沒有調用子類的析構函數,所以這會產生內存的泄露,如果想釋放這段內存,要在父類和子類的析構函數前面都加上virtua

    2? Soldier soldier;在棧中實例化對象會執行父類的析構函數。

    查看全部
  • 使用虛繼承時不會重復調用最頂層父類的構造函數和析構函數,頂層父類只能使用頂層父類構造函數的默認值,而無法從子類的子類中獲得傳入的參數

    查看全部
  • 重定義:B繼承A,C繼承A,定義B,C類的時候就重復定義了A,此時需要解決重定義的問題

    #ifndef?PERSON_H ? ? ? ? ? ?? //#ifndef意思是如果沒有定義
    #define?PERSON_H
    ……
    #endif

    查看全部
  • Person *p=new Soldier;//用Person的指針指向堆中 soldier的對象

    p->play();

    delete p;

    p=NULL;

    發現這個時候析構函數調用的時候只調用了父類的析構函數,并沒有調用子類的析構函數,所以這會產生內存的泄露,如果想釋放這段內存,要在父類和子類的析構函數前面都加上virtua


    查看全部

舉報

0/150
提交
取消
課程須知
本課程是C++初級課程 熟練掌握C++語言基礎語法,如需要學習C++基礎語法的可以看《C++遠征之起航篇》、《C++遠征之離港篇》、《C++遠征之封裝篇(上)》、《C++遠征之封裝篇(下)》
老師告訴你能學到什么?
1、什么是繼承 2、基類和派生類的概念 3、繼承的三種方式 4、多重繼承和多繼承 5、虛繼承是怎么回事

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!