我正在写一个库在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