Excepciones con una Pila Simple Yoandy Perez Villazon (2004-05-30)

Este es un ejemplo del manejo de las excepciones, utilizando una simulación del funcionamiento de una pila, pero sin usar la estructura de datos que ésta requiere, simplemente usando una plantilla de diseño y una lista que renstringiendo el funcinamiento de ésta y con métodos que tan sólo me le darán funcionamiento al programa como si fuera el de una pila, es un ejemplo sencillo que maneja excepciones y para no permitir tratar de utilizar memoria en la pila que no exista y para tratar de cuando se vaya a extraer un elemento de la pila que éste se encuentre ahí.

// --Clases para el manejo de las Excepciones


#ifndef Unit3H
#define Unit3H
//---------------------------------------------------------------------------
class CPilaExceptions{};
class CPilaLlenaExceptions : public CPilaExceptions{};
class CPilaVaciaExceptions : public CPilaExceptions{};

#endif


//---Clase que lanza la Exceptions


#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
const int total = 5;
template<class T>

class CPila
{
   private :
   int top ;
   T Pila[total];
   public :
   CPila()
   {
     top = 0;
   }
   void Push(T element)
   {
     if(!Full())
      Pila[top++] = element ;
    else
      throw  CPilaLlenaExceptions();
   }
   T Pop()
   {
     if(!Empty())
        return Pila[--top];
     else
        throw CPilaVaciaExceptions();
   }
   bool Empty()
   {
      return (top==0);
   }
   bool Full()
   {
      return (top ==total);
   }
   int DevolverTop()
   {
     return top;
   }

};

#endif

Regresar a ejemplos