sirven que punteros puntero para los funciones estructura ejemplo dev declaracion datos apuntadores c++ pointers reference polymorphism virtual

que - punteros c++ pdf



¿Pasa el puntero a la clase derivada, a la función que espera puntero a la clase base? (1)

DE ACUERDO. No soy muy bueno en polimorfismo en C ++, pero ahora tengo un problema. Imagina estas clases:

class Parent { public: Parent(); virtual ~Parent(); }; class Child : public Parent { public: Child(); }; class Director public: Director(); void doStuff(Parent* p); }; // Assume we have a instance of Director, and call the doStuff function here: doStuff(new Child()); // Gives error

Me sale el error

no puede convertir el parámetro 1 de ''Niño *'' a ''Padre *''

Y mi pregunta simple es, ¿POR QUÉ esto no funciona? ¿Debo hacer algún tipo de casting o qué, o cuál es el problema?

EDITAR: pongo todos mis archivos aquí tal como están. Creo que el problema radica en mis inclusiones, ya que realmente no tengo idea de cómo se supone que se debe hacer con #ifndef y tal. Por favor, échales un vistazo.
Director.h: http://pastebin.com/2uJqezju
Director.cpp: http://pastebin.com/SZ6cuBJC
IApp.h: http://pastebin.com/euCAwpnL
IApp.cpp: http://pastebin.com/JHDuQUhW
IScene: h: http://pastebin.com/cweH9G6p
IScene.cpp: http://pastebin.com/9epW0dRA

Luego, he creado algunas instancias de esto:
GameApp.h (hereda EDGE :: IApp): http://pastebin.com/QbjbVqSi
GameApp.cpp: http://pastebin.com/sYJvmbeP
GameScene.h (hereda EDGE :: IScene): http://pastebin.com/K1WYNvRf
GameScene.cpp: http://pastebin.com/uJx3FLBW

No tengas miedo de echarles un vistazo, realmente hay como 10 líneas de código en cada uno de ellos. Pero el problema está en GameApp.cpp, donde intento crear una instancia de GameScene y pasarla al Director-> createNewScene (escena IScene *).


Director.h:

class IScene;

debe estar dentro del espacio de nombres