One of classes in my program uses some third-party library. Library object is a private member of my class:
// My.h
#include <3pheader.h>
class My
{
...
private:
3pObject m_object;
}
The problem with this - any other unit in my program that uses My class should be configured to include 3p headers. Moving to another kind of 3p will jeopardize the whole build... I see two ways to fix this - one is to is to make 3pObject extern and turn m_Object into a pointer, being initialized in constructor; second is to create an "interface" and "factory" classes and export them...
Could you suggest another ways to solve that ?