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

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 如果父類中存在純虛函數(shù),而子類中并沒有實現(xiàn)此函數(shù),則子類便繼承了父類中的純虛函數(shù),成為和父類一樣的抽樣類,都不可以實例化對象。

    查看全部
  • 在同時接了多個接口類的子類中,必須把接口類中所有的虛函數(shù)進行實現(xiàn)

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

    2020-02-27

  • 常見異常情況

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

    2020-02-27

  • 異常處理關(guān)鍵字:

    1. try...catch..(try是嘗試的意思,就是指嘗試運行正常的邏輯;catch是捕獲的意思,就是在try過程中出現(xiàn)異常,就會捕獲異常,進行處理)

    2. throw(就是拋出異常的意思,拋出之后給catch進行捕獲)

      這個基本思想就是主邏輯和異常處理邏輯進行分離!

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

    2020-02-27

  • 本質(zhì)上所有的操作系統(tǒng)都是一個死循環(huán),不停的接收以及響應(yīng)用戶的處理和給予反饋
    真正的問題在于要分析清楚你所需要的所有資源的生命周期,包括內(nèi)存的申請和釋放,外設(shè)的創(chuàng)建和銷毀等等。只要是你申請的資源,你必須確認(rèn)他能夠及時正確的得到銷毀。
    還有一點是既然死循環(huán)必須要考慮何時和怎樣釋放CPU,例如利用信號量等待將當(dāng)前任務(wù)/進程掛起,或者簡單的利用wait/sleep之類函數(shù)主動釋放。

    異常:程序在運行過程出現(xiàn)錯誤。

    異常處理:對有可能發(fā)生異常的地方做出預(yù)見性的安排。

    異常處理的基本思想:主邏輯與異常處理分離

    try與catch是一對多的關(guān)系。

    多態(tài)與異常處理的關(guān)系:Exception:HardwareErr,SizeErr,MemoryErr,NetworkErr



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

    2020-02-27

  • 用typeid函數(shù)的時候要#include <typeinfo>

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

    2020-02-27

  • 這個地方可以看到typeid(*obj).name() 打印出來的是class Bird進一步說明了typeid(X).name() 是識別X的數(shù)據(jù)類型,并非識別指針。

    查看全部
  • typeid注意事項:

    1. type_id返回一個type_info對象的引用;

    2. 如果想通過基類的指針獲得派生類的數(shù)據(jù)類型,基類必須帶有虛函數(shù);否則我們只能返回定義時所使用的的數(shù)據(jù)類型。

    3. 只能獲取對象的實際類型。(只能判斷當(dāng)前對象是基類還是子類,不能識別當(dāng)前指針是基類還是子類)


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

    2020-02-27

  • dynamic_cast注意事項:

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

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

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


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

    2020-02-27

  • RTTI(Run-Time Type Identification,運行時類型識別),它使程序能夠獲取由基指針或引用所指向的對象的實際派生類型,即允許“用指向基類的指針或引用來操作對象”的程序能夠獲取到“這些指針或引用所指對象”的實際派生類型(通俗話來說,就是能夠知道這個基類指針糾結(jié)是被哪個派生類在用)

    1. dynamic_cast是將一個基類對象指針(或引用)轉(zhuǎn)換到繼承類指針,dynamic_cast會根據(jù)基類指針是否真正指向繼承類指針來做相應(yīng)處理

    2. typeid(*obj).name()來確定派生類指針類型。if(typeid(*obj).name() == typeid(Bird))進行指針比對。Bird *bird = dynamic_cast<Bird *>(obj)進行基類指針向派生類指針的轉(zhuǎn)換。

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

    2020-02-27

  • 當(dāng)類定義了虛函數(shù)之后,就會開拓一塊特殊的內(nèi)存VFtable虛函數(shù)表,虛函數(shù)表指針指向一個位置,這個位置中又放有各個虛函數(shù)實現(xiàn)的內(nèi)存的指針。

    當(dāng)基類中定義虛函數(shù),子類繼承并獨特實現(xiàn)了同名虛函數(shù)后,虛函數(shù)表的指針就發(fā)生了變化,之后虛函數(shù)表中函數(shù)實現(xiàn)位置指針更加不同,就如圖中的0xCCFF

    查看全部
  • 接口類Flyable,沒有cpp文件,因為根本不需要去實現(xiàn)。 并且沒有構(gòu)造函數(shù)和析構(gòu)函數(shù),只有2個純虛函數(shù)。

    構(gòu)造函數(shù)是用來實例化(或者叫構(gòu)造對象)用的, 而接口是不允許進行實例化的, 因此沒有構(gòu)造函數(shù)

    接口類只含有純虛函數(shù),接口類不能被實例化,但可以有指向接口類的指針,以便于操縱各個子類。


    查看全部
  • 接口類定義:僅含有純虛函數(shù)的類(沒有數(shù)據(jù)成員,僅有成員函數(shù)且均為純虛函數(shù))

    接口類更多的表達一種協(xié)議或能力


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

    2020-02-27

  • Animal ();僅僅是聲明,類外要對其進行定義Animal::Animal(){};

    而Animal(){};是在類內(nèi)定義

    這個地方Animal的默認(rèn)構(gòu)造函數(shù)不能只寫成Animal();因為這樣寫只是申明了,沒有定義它(之前我們是在Animal.cpp里面定義了的),要定義它必須要加{}?。。。m然在定義里面我們什么都沒做?。?/p>

    而在實例化對象Dog的時候,我們調(diào)用了這個默認(rèn)的父類構(gòu)造函數(shù)Animal(){} , 所以這里我們不加{}就會報錯。

    但是在Dog類中,我們對默認(rèn)構(gòu)造函數(shù)寫成Dog(); 程序卻能夠正常運行,是因為我沒雖然沒有定義Dog(),但是我們也沒調(diào)用它。 我們調(diào)用的是函參的構(gòu)造函數(shù)Dog(string name){},所以才沒有報錯。

    這個事情告訴我們,在沒有多個文件的的時候,聲明函數(shù)了一定要定義?。?/p>





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

    2020-02-27

  • 虛函數(shù)一定要有函數(shù)體:比如

    virtial?void?eat(){cout?<<?"Animal--"?<<?m_strName?<<?"--?eat"?<<?endl;}

    如果沒有后面的函數(shù)體,只寫成:virtial void eat();計算機會認(rèn)為這是一個純虛函數(shù),但是會報錯,因為純虛函數(shù)后面要寫=0。

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

    2020-02-27

舉報

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)的支持!