Hola a todos. Hace tiempo que no vengo por aqui.
Esta vez vengo por un poco de ayuda.
Tengo el siguiente codigo para implementar un arbol binario de manera orientado a objetos y usando templates.
Código PHP:
template<typename T>
class Arbol{
protected:
Nodo<T> *raiz;
public:
Arbol(){raiz=NULL;};
virtual ~Arbol()=0;
virtual void Insert(Nodo<T> nod)=0;
virtual void PreOrder(void)=0;
virtual void InOrder(void)=0;
virtual void PosOrder(void)=0;
};
template<typename T>
class ArbolEvaluacion : public Arbol<T>{
protected:
public:
ArbolEvaluacion();
~ArbolEvaluacion();
void Insert(Nodo<T> nod);
void PreOrder(void);
void InOrder(void);
void PosOrder(void);
};
//////////////////////
template<typename T>
ArbolEvaluacion<T>::ArbolEvaluacion()
{
}
template<typename T>
ArbolEvaluacion<T>::~ArbolEvaluacion()
{
}
template<typename T>
void ArbolEvaluacion<T>::Insert(Nodo<T> nod)
{
}
template<typename T>
void ArbolEvaluacion<T>::PreOrder(void)
{
}
template<typename T>
void ArbolEvaluacion<T>::InOrder(void)
{
}
template<typename T>
void ArbolEvaluacion<T>::PosOrder(void)
{
}
Al intentarlo compilar con gcc v4 bajo linux me lanza que hay referencias indefinidas en los constructores. Depsues de mover algunas cosas me lanza lo mismo pero con todos los metodos.
Alguien podria explicarme que estoy haciendo mal, por favor?
Saludos