開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
vs2015
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
dynamic_cast的使用
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
Class Basic
{
Public :
Virtual int A() {return 0;}
}
Class Basic2
{
Public:
Virtual int B(){return 0;}
}
Class Derived : public Basic , public Basic2
{
int A() override;
int B() override;
}
Basic* pa = new Derived();
Basic2* pb = dynamic_cast<Basic2*>(pa);
補充說明(Supplement):
想請問各位前輩 這樣使用dynamic_cast 是否錯誤
雖然在程式中可以執行,也沒發生錯誤
但與我在網路上查到的用法有些不同
有疑問的點是pa 是 父類別指標 ,同樣的pb也是父類別指標
如此一來就沒有上對下的類型轉換
再麻煩各位前輩排解我的疑惑