真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

dynamic_cast<type-id>(expression)

#include                                                              
using namespace std;
#include 
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(pa);//pa是指向B類型的基類指針,OK
    //C* pc = dynamic_cast(pa); //pa不是指向C類型的基類指針,error

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

分享文章:dynamic_cast<type-id>(expression)
文章網(wǎng)址:http://weahome.cn/article/gedods.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部