[問題] 父類別指標指向子類別

看板C_and_CPP (C/C++)作者 (瑞樹啊瑞樹)時間7年前 (2018/06/30 17:09), 7年前編輯推噓0(117)
留言9則, 5人參與, 7年前最新討論串1/1
如題, 在物件導向中, 父類物件的指標應該可以指向子類物件 但是今天在實作的時候一直出現例外狀況 但是也找不到任何原因 想請問一下可能造成這樣錯誤的原因 由於程式碼很多很雜在這裡就不附上了 出現錯誤的操作大概是這樣 父物件 a , 子物件 b a** list = new a*[3]; list[0] = new b; 感謝 ----- Sent from JPTT on my Samsung SM-J510UN. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.37.212 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1530349770.A.BA2.html

06/30 17:13, 7年前 , 1F
... 沒程式碼當我們有水晶球?
06/30 17:13, 1F
※ 編輯: Billeve (39.9.37.212), 06/30/2018 17:23:02

06/30 17:28, 7年前 , 2F
寫一個最小重現bug的程式是debug的基本之一 練習一下吧
06/30 17:28, 2F

06/30 17:34, 7年前 , 3F
父子大小不同,用陣列方式操作會有問題
06/30 17:34, 3F

06/30 17:45, 7年前 , 4F
list[0] = new b;<=應該要這樣寫吧
06/30 17:45, 4F
啊啊 打錯QQ 修一下

06/30 17:48, 7年前 , 5F
然後請不要把class取這種跟變數名稱很像的名字XD
06/30 17:48, 5F

06/30 17:56, 7年前 , 6F
直覺上像是他想用父類別陣列的方式操作子類實體
06/30 17:56, 6F
我是希望使用父類指標陣列來對多個不同的子物件操作 ※ 編輯: Billeve (39.9.37.212), 06/30/2018 18:03:50 ※ 編輯: Billeve (39.9.37.212), 06/30/2018 18:04:13 ※ 編輯: Billeve (39.9.37.212), 06/30/2018 18:06:53

06/30 18:14, 7年前 , 7F
你好歹把 class 的輪廓貼出來
06/30 18:14, 7F

06/30 18:25, 7年前 , 8F
這兩行常態下是合法的 原PO先像steve講的寫一段最小重
06/30 18:25, 8F

06/30 18:25, 7年前 , 9F
現的code再貼來看看吧
06/30 18:25, 9F
後來發現原來不是這個操作有問題 而是連最一般的 b test; 這樣一句純粹的宣告 都會導致bad_array_new_length 我覺得應該是整個物件有問題了 決定重寫,感謝各位協助QQ ※ 編輯: Billeve (39.9.37.212), 06/30/2018 18:51:07
文章代碼(AID): #1RDqZAkY (C_and_CPP)
文章代碼(AID): #1RDqZAkY (C_and_CPP)