Скажем, у меня есть класс Foo с объектом класса бар в качестве членаКаков наилучший способ работы с со-зависимыми классами в C++?
class foo
{
bar m_bar;
};
Теперь предположим, что бар должен следить за обув, которому принадлежит это
class bar
{
foo * m_pfoo;
}
Два класса ссылаются друг на друга и без прямого объявления, не будет компилироваться. Таким образом, добавив следующую строку, прежде чем декларация Foo в решает эту проблему
class bar;
Теперь, вот проблема - при записи файлов заголовков, каждый заголовок зависит от другого: foo.h нужны определения в bar.h и наоборот. Каков правильный способ борьбы с этим?
Это кажется лучшим вариантом для того, что мне нужно. –
теперь как это решение работает, если ваши созависимые классы шаблонизированы и поэтому не могут быть разделены на файлы заголовков и cpp? –