Mi problema es que no se como obtener la cima sin utilizar una cola auxiliar. La definición de la operación es esta:
Código
const TElem& cima() const throw (EAccesoIndebido);
//pre: !esVacio
//post: devuelve la cima
//Lanza excepcion si la pila esta vacia
Tendrá que ser por recursión pero dentro de esta funcion no puedo usa _cola.quitaPrimero() ni _cola.ponUltimo()porque me da error C2662.
alguien me ayuda?
Yo había pensado algo así (pero da error C2662)
template <class TElem>
const TElem& TPila<TElem>::cima() const throw (EAccesoIndebido){
if(esVacio())
throw EAccesoIndebido("Error: no existe cima de la pila vacía");
else {
TElem aux;
aux=_cola.primero();
_cola.
cima();
_cola.ponDetras(aux);
return aux;}
//fin else
}










Autor


En línea

