[問題] 如何隱藏Header file裡class結構

看板C_and_CPP作者 (hi man)時間9年前 (2016/05/27 16:36), 編輯推噓5(506)
留言11則, 7人參與, 最新討論串1/1
最近用VC++自己編個靜態函式庫(Static library), 發現還需搭配一個Header file才能呼叫Static library裡面的function, 可是Header file是公開的, 這樣其他人不就可以看得到Header file 裡class的結構設計和某些資料結構? 有辦法隱藏嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.105.79 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464367016.A.CC4.html

05/28 00:40, , 1F
編譯header試試?
05/28 00:40, 1F

05/28 00:42, , 2F
一個常用的做法是 pimpl idiom
05/28 00:42, 2F

05/28 00:45, , 3F
不想公開的header就不要給不就好了
05/28 00:45, 3F

05/28 00:47, , 4F
若是指不想公開class裡的private member,就如2F說的
05/28 00:47, 4F

05/28 00:51, , 5F
Head file不給可以呼叫Static library裡的函式嗎?
05/28 00:51, 5F

05/28 01:02, , 6F
uranusjr Thanks.
05/28 01:02, 6F

05/28 08:55, , 7F
effective C++ 第三版的 item 31有提到 你可以參考
05/28 08:55, 7F

05/28 10:16, , 8F
如果要看item 31,先看handle class即可
05/28 10:16, 8F

05/28 10:19, , 9F
後面的interface class目前可以先不管
05/28 10:19, 9F

05/29 17:52, , 10F
就算你不想給看,還是很多方法可以分析出來 XD
05/29 17:52, 10F

05/30 23:41, , 11F
使用pure virtual function來定義interface
05/30 23:41, 11F
文章代碼(AID): #1NI7Uep4 (C_and_CPP)