У меня есть 5 классов (A, B, C, D, E), каждый из которых будет иметь свои собственные файлы классов и заголовков.Сложная круговая зависимость между классами
class A{};
class B
{
B(A&a);
};
class C
{
C(B&b);
};
class D:public A
{};
class E:public D
{
vector<C*> vc;
};
Вперед декларация не будет работать, потому что у меня также есть много sharepointers, используемых в каждом из этих классов.
Элементы класса 'std :: shared_ptr' могут использоваться с неполными типами. Тип должен быть полным при вызове 'make_shared' (или' shared_ptr' вручную создается из необработанного указателя), поэтому это должно быть сделано в файле реализации после включения всех соответствующих заголовков, а не встроенных в класс. –
Что вы думаете? –