Недавно столкнулся с одной проблемой. Есть базовый класс, который содержит среди своих членов вспомогательные классы-воркеры. Но главное - вспомогательные классы должны иметь ссылку на базовый класс, иметь к нему доступ. Компилятор находя первый класс естественно не может найти второй и наоборот.
Пример:
class cb
{
ca *parent_obj;
// ...
// parent_obj->some_func();
};
class ca
{
cb cb_obj;
// ...
// cb_obj.parent_obj = this;
};
Проблема ещё в том, что через extern например проблему не решить - объектов ca может быть много, и каждый должен содержать свои экзепмляры воркеров.
Совсем не могу придумать, как можно решить такую проблему разумными методами?