Código:
#include <bits/stdc++.h>
using namespace std;
template <typename tipo>
struct pila{
int numero;
int tope=0;
vector<tipo>dato;
void setSize(int n){
dato.resize(n);
}
void push(){
if(tope<dato.size()){
cin >> numero;
dato[tope]=numero;
tope++;
}else{
throw overflow_error ("Pila llena");
}
}
void pop(){
if(tope>0){
tope--;
cout << dato[tope];
}else{
throw underflow_error ("Pila vacia");
}
}
};
pila<int>Fila;
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
Fila.setSize(2);
Fila.push();
Fila.push();
Fila.pop();
Fila.pop();
fflush(stdout);
Fila.push();
Fila.push();
Fila.pop();
Fila.pop();
return 0;
}