Cola.htm
#include"NodoE.h"
#include"ColaE.h"
#include"NodoE.cpp"
#include"ColaE.cpp"
#include<iostream>
using namespace std;
int main()
{
ColaE<int> cola;
cola.agregar(10);
cola.agregar(11);
cola.agregar(12);
cola.agregar(13);
cola.agregar(14);
cola.agregar(15);
cola.imprimir();
system("pause");
return 0;
}
ColaEEeee.htm
#ifndef COLAE_H
#define COLAE_H
#include"NodoE.h"
template<class T>
class ColaE
{
public:
NodoE<T> *primero;
NodoE<T> *ultimo;
ColaE();
int estaVacia();
void agregar(T dato);
T extraer();
T primerElemento();
void limpiar();
void imprimir();
};
#endif
ColaEEee.htm
#include<iostream>
using namespace std;
#include"NodoE.h"
#include"ColaE.h"
template <typename T>
ColaE<T>::ColaE()
{
primero=NULL;
ultimo=NULL;
}
template <typename T>
int ColaE<T>::estaVacia()
{
return(primero==NULL);
}
template <typename T>
void ColaE<T>::agregar(T dato)
{
NodoE<T> *nodo=new NodoE<T>(dato);
if(estaVacia())
{
primero=nodo;
ultimo=nodo;
}
else
{
ultimo->sig=nodo;
ultimo=nodo;
}
}
template <typename T>
T ColaE<T>::extraer()
{
NodoE<T> *nodo;
nodo=primero;
if(estaVacia())
{
return ;
}
else
{
primero=nodo->sig;
if(primero==NULL)
{
ultimo=NULL;
return nodo->dato;
}
}
}
template <typename T>
T ColaE<T>::primerElemento()
{
if(estaVacia())
return NULL;
else
{
return primero->dato;
}
}
template <typename T>
void ColaE<T>::limpiar()
{
primero=NULL;
ultimo=NULL;
}
template <typename T>
void ColaE<T>::imprimir()
{
NodoE<T> *nodo;
nodo=primero;
int i=1;
if(estaVacia())
{
cout<<"no existen datos"<<endl;
}
else
{
while(nodo!=NULL)
{
cout<<"nodo "<<i<<":"<<nodo->dato<<endl;
nodo=nodo->sig;
i++;
}
}
}
Col.htm
#ifndef NODOE_H
#define NODOE_H
template<class T>
class NodoE
{
public:
T dato;
NodoE *sig;
NodoE(T);
NodoE();
};
#endif
ColaEEe.htm
#include"NodoE.h"
#include<iostream>
using namespace std;
template <typename T>
NodoE<T>::NodoE(T dato)
{
this->dato=dato;
sig=NULL;
}
template<typename T>
NodoE<T>::NodoE()
{
dato=NULL;
sig=NULL;
}
compilar en proyecto en c
ResponderEliminar