Редактировать: Спасибо, ребята, теперь я вижу свою ошибку.
Если я не ошибаюсь, из-за своей природы в фабричном методе существует циклическая зависимость:
Базовый класс должен знать подклассы, потому что он их создает, а подклассы должны знать базовый класс. Наличие циклической зависимости - плохая практика программирования, не правда ли?
Практически я реализовал фабрику, у меня проблема выше, даже я добавил
#ifndef MYCLASS_H
#define MYCLASS_H
#endif
Я все еще получаю
Compiler Error C2504 'class' : base class undefined
И эта ошибка вызывает ошибку при удалении включения подкласса из заголовка базового класса.