Если у меня есть чистый виртуальный класс, подобный следующему:
У меня есть структура классов, подобная следующей:
class interface_class {
virtual void someFunction(MyClassA& a) = 0;
virtual void someFunction(MyClassB& b) = 0;
}
Как правильно включить MyClassA / MyClassB? Должен ли я сделать какое-то предварительное объявление в файле заголовка класса интерфейса и сделать реальное включение в файл заголовка реализации, или я должен включить файл заголовка MyClassA / B непосредственно в класс интерфейса?