Я не новичок в C ++, но я точно не эксперт ... пока :)
Пытаюсь понять, как работает наследование. У меня есть класс, производный от базового класса:
class Base {}
и
#include "Base.h"
class Derived : public Base {}
В моем базовом классе я пытаюсь создать статический метод, который возвращает указатель на объект производного класса:
#include "Derived.h"
class Base {
static Derived* getDerived();
}
Теперь я подумал, что, поскольку это статический член, мне, возможно, сойдет с рук, но я получаю проблемы во время компиляции, жалуясь, что класс Derived не знает, что такое объект Base, хотя я включаю Base.h в Производный класс. Я также знаю о круговой зависимости, однако, поскольку я пытаюсь вернуть указатель на объект, я полагал, что компилятору не понадобится #include "Derived.h", но похоже, что это так.
Любые указания о том, почему это не тот путь, и что я мог бы сделать вместо этого, были бы очень признательны!
(Сейчас я делаю это на Java)