Tengo una clase Motor que "crea" dos clases (que heredan de Threads y de superclase) Clase1 y Clase2, mi problema es que quiero que estas clases a su vez puedan llamar a funciones de la clase MotorJuego que hereda de motor. (En Motor.h y MotorJuego.h defino la clase y los métodos, en el código siguiente lo pongo todo en el cpp para facilitar el entendimiento)
Os pongo parte del código (no funciona porque tengo includes infinitos):
---
Código c++:
Ver original
#include <QThread> #include "includes.cpp" class motor { superclase *a, *b; public: void motor::inicializate_play() { a = new programaA::clase(this) ; b = new programaB::clase(this) ; a->inicializate();; a->run(); } };
---
Código c++:
Ver original
#include "motor.h" class motorJuego: public motor { public: qDebug("Estoy avanzando"); if (s==a) { qDebug("Soy clase1"); } else if (s==b) { qDebug("Soy clase2"); } else qDebug ("Algo está mal"); } };
---
Código c++:
Ver original
#include "motorJuego.h" class superclase: public QThread{ public: virtual void run(){} void inicializate() { hecho=0; } protected: int hecho; void avanzar(motorJuego *m, superclase *s) { qDebug("Voy a avanzar"); m->update_pos_player(s); } };
---
Código c++:
Ver original
#include "superclase.cpp" class clase: public superclase { public: clase (motorJuego *m) { mot=m; } void run() { if (hecho==0) //inicializate { qDebug("Inicio 1") ; } else if (hecho==1) //move { qDebug("Muevo 1") ; avanzar(mot,this); } } private: motorJuego *mot; };
---
Y el includes.cpp
Código c++:
Perdon por todo este rollo y a ver si alguien me puede ayudar, desde ya, gracias. Ver original
#include <stdio.h> namespace programaA { #include "codigo1.cpp" } namespace programaB { #include "codigo2.cpp" }