27 lines
445 B
C++
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
|