#include <iostream>
using namespace std;

#define SIZE 100

class stack {
	char memory[SIZE];
	int top;
public:
   	stack();
	void push(char ch);
	char pop();
};

stack::stack(){
	cout << "スタックを生成する。\n";
	top = 0;
}

void stack::push(char ch){
	if (top >= SIZE) {
		cout << "スタックは一杯です。\n";
		return;
	}
	memory[top++] = ch;
}

char stack::pop(){
	if (top <= 0){
		cout << "スタックは空です。\n";
		return 0;
	}
	return memory[--top];
}

int main(){
	stack s1,s2;
	s1.push('a');
	s2.push('x');
	s1.push('b');
	s2.push('y');
	s1.push('c');
	s2.push('z');
	
	for (int i = 0; i < 3; i++){
		cout << "s1をポップする: " << s1.pop() << "\n";
	}
	for (int i = 0; i < 3; i++){
		cout << "s2をポップする: " << s2.pop() << "\n";
	}
	return 0;
} 