中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

dynamic_cast<type-id>(expression)

發布時間:2020-07-15 09:07:18 來源:網絡 閱讀:402 作者:神ge 欄目:編程語言
#include <iostream>                                                             
using namespace std;
#include <typeinfo>
class A{
    public:
        virtual void foo(void){}
};
class B:public A{
    void foo(void){}
};

class C:public A{
    void foo(void ){} 
};

int main(void){
    B b;
    A* pa= &b; 
    B* pb = dynamic_cast<B*>(pa);//pa是指向B類型的基類指針,OK
    //C* pc = dynamic_cast<B*>(pa); //pa不是指向C類型的基類指針,error

    B b1; 
    A& ra = b1;
    B& b2 = dynamic_cast<B&>(ra);
    //C& c1 = dynamic_cast<C&>(ra);error
    return 0;
}                                                                               
 
 上面兩個錯誤都是,編譯時不報錯,運行時報錯.
dynamic_cast主要是將指向子類的基類指針轉化為子類的指針
轉換過程中會檢查目標和期望轉換的對象是否一致,一致轉換
成功,否則失敗,如果轉換為指針,則失敗返回NULL,如果是引用失敗
返回bad_cast異常


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来宾市| 牟定县| 阳山县| 察哈| 黔西县| 仲巴县| 大余县| 东平县| 巴彦县| 云林县| 濮阳市| 通城县| 平定县| 乐昌市| 玛多县| 隆回县| 客服| 如东县| 潢川县| 都江堰市| 固阳县| 湘乡市| 红安县| 双牌县| 慈利县| 新丰县| 左贡县| 郸城县| 江北区| 邛崃市| 临安市| 东安县| 嘉鱼县| 陆河县| 彭泽县| 洪泽县| 乌恰县| 仪征市| 江口县| 吉安市| 陆丰市|