[問題] 動態繫結的結果問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) clang++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) null
問題(Question): 以下是我的程式碼
http://i.imgur.com/eBCsnT2.png
另外問個問題,當我繼承一個base class時,如何在dirived class的construct中的
initializer呼叫base class來進行初始化,因為我習慣一個class寫成一個.h,而這個
問題無法解決的情況下,都讓我必須在.h檔裡面就寫完整個constructor的實作。
預期的正確結果(Expected Output):
A1 A2 B1 A2 B1 C2
預期應該是這樣,我的想法是objB是以class B的類別,理當來說print1已經被override
,為什麼在輸出結果時objB的print1還是輸出A1,這個問題在延續到objC也是存在。
謝謝。
錯誤結果(Wrong Output):
A1 A2 A1 A2 A1 C2
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.101.71
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1454575078.A.395.html
推
02/04 16:46, , 1F
02/04 16:46, 1F
→
02/04 16:47, , 2F
02/04 16:47, 2F
→
02/04 16:48, , 3F
02/04 16:48, 3F
→
02/04 16:49, , 4F
02/04 16:49, 4F
→
02/04 16:49, , 5F
02/04 16:49, 5F
→
02/04 16:54, , 6F
02/04 16:54, 6F
→
02/04 17:08, , 7F
02/04 17:08, 7F
→
02/04 23:42, , 8F
02/04 23:42, 8F
推
02/04 23:55, , 9F
02/04 23:55, 9F
→
02/04 23:56, , 10F
02/04 23:56, 10F
對,我想說明的就是樓上的這種寫法,可是這種寫法必須在宣告Derived的constructor時就已經
將他的實作也寫好,也就是必須在.h檔中就寫好constructor的實作,請問有辦法分離到
另一個Derived.cpp檔中嗎?
※ 編輯: ArcherState (118.171.26.244), 02/05/2016 13:56:01
推
02/05 14:07, , 11F
02/05 14:07, 11F
→
02/05 14:39, , 12F
02/05 14:39, 12F
→
02/05 16:15, , 13F
02/05 16:15, 13F
推
02/05 23:22, , 14F
02/05 23:22, 14F
→
02/05 23:22, , 15F
02/05 23:22, 15F
→
02/06 00:12, , 16F
02/06 00:12, 16F