Я пишу библиотеку на С++ и имею такую иерархию классов:
файл message.h (в ./mylib/src)
class Message
{
};
файл request.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, поэтому пользователь получит ошибку «Нет такого файла», когда #включит request.h и response.h. Есть ли способ обойти эту проблему?