[問題] 繼承的class呼叫parent的function問題

看板C_and_CPP作者 (彼得幣)時間9年前發表 (2016/03/24 14:44), 9年前編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) None 問題(Question): 最近看到書上寫到pimpl, 想把這一套方法應用到我的API上面, 但是目前遇到一個問題, 想請教一下大家有沒有什麼方法可以解決。 首先我的程式架構是這樣: 我有一個CommonClass, 裡面宣告了幾個pure virtual function要給繼承的人實作, 同時也有幾個protected function是已經實作的。 我現在想把這幾個function用pimpl藏起來, 但是這樣在繼承的class裡面就看不到這些function了, 而這些function又是會被繼承的class使用到的。 我目前有想到的方法是把這幾個function放到另外的檔案裏面, 這樣不管是CommonClass或是繼承的class都可以看到, 但是還是想請問一下有沒有方法可以用pimpl做到這件事情? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.161.76 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458830693.A.A2D.html

03/24 23:06, , 1F
來看看大師怎麼說 http://herbsutter.com/gotw/_100/
03/24 23:06, 1F
大師說protected不應該放到pimpl裡面 所以我的問題算解決了XD 謝謝你!!

03/25 09:52, , 2F
我請教一下 這個應該跟design pattern中的Brige類似吧??
03/25 09:52, 2F

03/25 09:52, , 3F
bridge
03/25 09:52, 3F

03/25 09:56, , 4F
然後 我記得effective C++ itme 31 也有這種作法
03/25 09:56, 4F

03/25 11:11, , 5F
是的,不過這網址是公開的
03/25 11:11, 5F

03/25 11:13, , 6F
跟bridge不同
03/25 11:13, 6F
※ 編輯: petercoin (220.130.36.2), 03/25/2016 11:31:58
文章代碼(AID): #1My_rbej (C_and_CPP)