Gracias por toda la ayuda que me brindastes ya lo he solucionado!!.
Basándome en lo ultimo que publicaste, se que hay que separar todo en *.hpp y *cpp pero no lo he hecho así ya que llega tornarse enorme para buscar un problema, también la solución que me brindaste no es la que andaba buscando. la de en el main tener que incluir las dos librerías:
Y esta es la solución:
A.hpp:
B.hpp:
Y en el main incluyo solo a A.hpp
amchacon muchas gracias por ayudarme, fuiste de muy gran ayuda, de toda la gente que ayudo(nadie mas), espero que mi solución te sea de feedback,
Grafcias
Basándome en lo ultimo que publicaste, se que hay que separar todo en *.hpp y *cpp pero no lo he hecho así ya que llega tornarse enorme para buscar un problema, también la solución que me brindaste no es la que andaba buscando. la de en el main tener que incluir las dos librerías:
Código (cpp) [Seleccionar]
#include "B.h" // Esto es lo que estaba evitando
#include "A.h" // Esto es lo que estaba evitando
int main(){
return 0;
}
Y esta es la solución:
A.hpp:
Código (cpp) [Seleccionar]
#include "B.hpp"
#ifndef _A_
#define _A_
class A{
private:
B* b;
public:
A(int);
A(B*);
};
A::A(int algo){
b = new B(algo);
}
A::A(B *pB){
b = pB;
}
#endif
B.hpp:
Código (cpp) [Seleccionar]
#ifndef _B_
#define _B_
class A;
class B{
private:
int dato;
public:
B(int);
A* retornoA();
};
B::B(int algo){
dato = algo;
}
#include "A.hpp"
A* B::retornoA(){
A *a = new A(10);
return a;
}
#endif
Y en el main incluyo solo a A.hpp
Código (cpp) [Seleccionar]
#include "A.hpp"
int main(){
return 0;
}
amchacon muchas gracias por ayudarme, fuiste de muy gran ayuda, de toda la gente que ayudo(nadie mas), espero que mi solución te sea de feedback,
Grafcias