作者petercoin (彼得幣)
看板C_and_CPP
標題[問題] 繼承的class呼叫parent的function問題
時間Thu Mar 24 22:44:51 2016
開發平台(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
大師說protected不應該放到pimpl裡面
所以我的問題算解決了XD
謝謝你!!
推 Clangpp: 我請教一下 這個應該跟design pattern中的Brige類似吧?? 03/25 09:52
→ Clangpp: bridge 03/25 09:52
推 Clangpp: 然後 我記得effective C++ itme 31 也有這種作法 03/25 09:56
→ Caesar08: 是的,不過這網址是公開的 03/25 11:11
→ Caesar08: 跟bridge不同 03/25 11:13
※ 編輯: petercoin (220.130.36.2), 03/25/2016 11:31:58