27 lines
445 B
C++

#ifndef EXAMPLE19_STACK_H
#define EXAMPLE19_STACK_H
template <typename T>
class Stack {
private:
int top;
T* impl;
public:
Stack(int n=5) : top(-1), impl(new T[n]) {
}
~Stack() {
delete[] impl;
}
bool empty() const {
return top == -1;
}
void push(T el) {
impl[++top] = el;
}
T pop() {
return impl[top--];
}
};
#endif //EXAMPLE19_STACK_H