Предположим, у меня есть заголовок, который содержит эти два классакомпилятор не может скомпилировать наследования C++
class A:public class B{
// code
};
class B
{
protected:
A a_object;
};
когда компилятор компилирует инклюдник, когда дело доходит до класса А, он видит класс А наследует от B, но это Безразлично 't достичь определения класса B. Таким образом, это дает ошибку. и если я меняю порядок обоих классов, он дает ошибку из-за объекта__объекта, поскольку он не видит определение класса А.
Как решить эту проблему? и предположим, что я ограничился этим включением файла, чтобы иметь определения класса А и В.
Благодаря
Вы не можете делать подобные рекурсивные зависимости. –
Подумайте об этом. Размер 'A' будет содержать размер' a_object', который он наследует от 'B', поэтому' sizeof (A) 'бесконечно. Очевидно, что это не сработает. – chris