[問題] 關於類型轉換
開發平台(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也是父類別指標
如此一來就沒有上對下的類型轉換
再麻煩各位前輩排解我的疑惑
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.199.201 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1596464642.A.BFB.html
推
08/04 01:27,
3年前
, 1F
08/04 01:27, 1F
→
08/04 01:27,
3年前
, 2F
08/04 01:27, 2F
→
08/04 01:27,
3年前
, 3F
08/04 01:27, 3F
→
08/04 01:29,
3年前
, 4F
08/04 01:29, 4F
→
08/04 01:29,
3年前
, 5F
08/04 01:29, 5F
→
08/04 15:40,
3年前
, 6F
08/04 15:40, 6F
→
08/04 15:40,
3年前
, 7F
08/04 15:40, 7F
→
08/04 15:41,
3年前
, 8F
08/04 15:41, 8F
推
08/04 16:55,
3年前
, 9F
08/04 16:55, 9F
→
08/04 16:55,
3年前
, 10F
08/04 16:55, 10F
推
08/04 18:16,
3年前
, 11F
08/04 18:16, 11F
謝謝各位前輩解惑 後續我會加上判斷
※ 編輯: asdfg1597860 (42.74.49.3 臺灣), 08/04/2020 23:34:03