Как я могу сделать класс Window: public BaseWindow, который будет использоваться в пользовательском коде, чтобы пользователь не знал, какой именно из производных классов лежит внутри?
Видимо, надо применять паттерны GoF - Bridge, Abstract Factory, это как бы типа pimpl но внутри
Спасибо за направление, пойду читать
Методы BaseWindow надо соответственно все переопределить и слать на выполнение имплементации
Воспользуйся идиомой PIMPL: в Window должен лежать указатель на BaseWindow, в конструкторе проинициализируешь одним из дочерних классов ( GLFWWindow или SDLWindow), в методах Window реализующих оригинальный интерфейс BaseWindow должны быть обращения к внутреннему объекту
Обсуждают сегодня