I feel like a stack in which pop/top are combined should already exist - am I missing something? Most languages have this. Does C++?
#include <stack>
#include <iostream>
template <typename T>
class gStack : public std::stack<T>
{
public:
T giveNext()
{
T n = std::stack<T>::top();
std::stack<T>::pop();
return n;
}
};
int main()
{
gStack<int> s;
s.push(3);
std::cout << s.giveNext();
return 0;
}