elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con los tipos en una inclusión doble.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con los tipos en una inclusión doble.  (Leído 1,308 veces)
Alcarendor

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema con los tipos en una inclusión doble.
« en: 3 Diciembre 2013, 01:21 am »

Buenas, tengo un problema con una sencilla inclusión doble en C++. Estoy haciendo una práctica de un árbol AVL y, para construirla, se me pide que haya una clase Nodo con dos punteros a otra clase Arbol, mientras que a la vez la clase Arbol contenga un atributo tipo Nodo.

Bien, el error está en que, incluso poniendo en #ifndef y demás, cuando incluyo mutuamente ambas clases el compilador (g++ sobre Linux) se vuelve loco y los tipos empiezan a fallar de manera aleatoria, diciendo que Arbol y/o Nodo no definen ningún tipo. Os dejo el texto completo de la definición de las clases, a ver si alguien ve el error que tengo y no se ver ya que, aunque he aplicado otras soluciones a problemas similares (incluidas soluciones encontradas en este foro) no logro dar con la tecla (que seguro que luego es una tontería).

ARBOL.hpp
Código
  1. #ifndef _ARBOL_HPP_
  2. #define _ARBOL_HPP_
  3.  
  4. #include "NODO.hpp"
  5.  
  6. using namespace std;
  7.  
  8. class Arbol{
  9.  
  10. private:
  11. Nodo * raiz;
  12. public:
  13. Arbol();
  14.  
  15. };
  16. #endif

ARBOL.cpp

Código
  1. #include "ARBOL.hpp"
  2.  
  3. Arbol::Arbol(){}

NODO.hpp
Código
  1. #ifndef _NODO_HPP_
  2. #define _NODO_HPP_
  3.  
  4. #include <string>
  5. #include "ARBOL.cpp"
  6.  
  7. using namespace std;
  8.  
  9. class Nodo {
  10. private:
  11. string clave;
  12. int altura;
  13. Arbol * izquierdo;
  14. Arbol * derecho;
  15. public:
  16. Nodo();
  17.  
  18. };
  19.  
  20. #endif

NODO.cpp
Código
  1. #include "NODO.hpp"
  2.  
  3. Nodo::Nodo(){
  4. string = "";
  5. int = 0;
  6. izquierdo = NULL;
  7. derecho = NULL
  8. }

Un saludo y gracias.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con los tipos de dvd virgen
Software
Marianna 1 2,768 Último mensaje 19 Junio 2006, 02:13 am
por Red Mx
problema con tipos genericos...
Java
vacio 2 4,400 Último mensaje 15 Noviembre 2007, 19:19 pm
por vacio
Problema con inclusion de archivos y clases
PHP
4rkn63l 4 2,392 Último mensaje 27 Junio 2011, 11:04 am
por 4rkn63l
Problema de asignacion (diferentes tipos)
Programación C/C++
soyloqbuskas 4 3,532 Último mensaje 28 Septiembre 2012, 16:21 pm
por anonimo12121
Problema de tipos C
Programación C/C++
dennis094 2 1,989 Último mensaje 22 Noviembre 2013, 18:11 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines