Problema con las inclusiones en un programa c++
Hola!
Quisiera saber cómo hacer para que dadas dos clases, cada una incluya un objeto de la otra
Quisiera saber cómo hacer para que dadas dos clases, cada una incluya un objeto de la otra
Lo que se podia hacer (creo que es lo mas logico) es incluir un puntero al tipo B en a y luego crearlo en la implementacion, usando las fordware declaration.
class B; // Fordware declaration.
class A {
public:
B *objetoB; // Solo se permiten crear punteros
// pues el compilador aun no save como son los
// constructores de B...
A ();
~A ();
};
class B {
public
A objetoA; // Aqui si se puede usar el objeto A
// pues el compilador ya leyo como era su constructor.
B ();
~B ();
};
// Implementacion:
A::A () {
objetoB = new B ();
}
Una buena fuente de documentacion en castellano es:
http://es.tldp.org/Manuales-LuCAS/doc-pensarenc++/html/
Aunque no esta terminada de traducir (¿colaboradores?) tambien tienes la vercion en ingles para lo que no esta alli.
class B; // Fordware declaration.
class A {
public:
B *objetoB; // Solo se permiten crear punteros
// pues el compilador aun no save como son los
// constructores de B...
A ();
~A ();
};
class B {
public
A objetoA; // Aqui si se puede usar el objeto A
// pues el compilador ya leyo como era su constructor.
B ();
~B ();
};
// Implementacion:
A::A () {
objetoB = new B ();
}
Una buena fuente de documentacion en castellano es:
http://es.tldp.org/Manuales-LuCAS/doc-pensarenc++/html/
Aunque no esta terminada de traducir (¿colaboradores?) tambien tienes la vercion en ingles para lo que no esta alli.
