31 lines
578 B
C++

#ifndef EXAMPLE23_STACK_H
#define EXAMPLE23_STACK_H
template <typename T>
class Stack {
public:
int top;
T arr[10];
Stack() : top(-1) {
}
void push(T value) {
arr[++top] = value;
}
T pop() {
return arr[top--];
}
/*
template <typename T1> // member template
Stack<T>& operator= (Stack<T1>& stack) {
for (int i = 0; i <= stack.top; i++) {
arr[i] = stack.arr[i];
}
top=stack.top;
return *this;
}
*/
};
#endif //EXAMPLE23_STACK_H