Controlador de prueba para la plantilla Pila. La función main utiliza una plantilla de función para manipular objetos del tipo Pila< T >.

#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
#include "tpila.h" //Copiar este URL http://www.mis-algoritmos.com/source-459.html y nombrarlo tpila.h
 
// Plantilla de función para manipular Pila< T >
template< class T >
void pruebaPila( 
   Pila< T > &laPila,   // referencia hacia la Pila< T >
   T valor,                // valor inicial a colocarse
   T incremento,            // incremento para valores subsiguientes
   const char *nombrePila ) // nombre del objeto Pila < T > 
{
   cout << "nColocando elementos en " << nombrePila << 'n';
 
   while ( laPila.push( valor ) ) { // éxito, true devuelto
      cout << valor << ' ';
      valor += incremento;
   } // end while
 
   cout << "nLa pila esta llena. No se puede colocar " << valor 
        << "nnSacando elementos de " << nombrePila << 'n';
 
   while ( laPila.pop( valor ) )  // éxito, true devuelto
      cout << valor << ' ';
 
   cout << "nLa pila esta vacia. No se puede sacar un elementon";
} // fin de la plantilla de función pruebaPila
 
int main()
{
   Pila< double > pilaDouble( 5 );   
   Pila< int > pilaInt;
 
   pruebaPila( pilaDouble, 1.1, 1.1, "pilaDouble" );
   pruebaPila( pilaInt, 1, 1, "pilaInt" );
 
   return 0;
} // fin de la función main
 

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)