我正在寫一個庫在C++中,有一個類層次結構是這樣的:C++ - 基類和私有頭
message.h文件(./mylib/src)
class Message
{
};
請求h文件(在./mylib/include/mylib)
#include "message.h"
class Request : public Message
{
};
response.h文件(在./mylib/include/mylib)
#include "message.h"
class Response : public Message
{
};
我希望我的mylib/src文件夾中的所有內容對用戶隱藏,並且只需要在mylib/include中分發文件。但是,問題與requst.h和response.h #include message.h一樣,所以當#include request.h和response.h時,用戶將得到「No such file」錯誤。有沒有辦法解決這個問題?
更多關於pimpl的信息:http://herbsutter.com/gotw/_100/和http://herbsutter.com/gotw/_101/ –
謝謝。我會去第二個選擇。 – jpen