stackプログラム

1つのオブジェクトのすべてのデータメンバがもう1つのオブジェクトに代入されます。

#include < iostream >
using namespace std;

#define SIZE 10

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

stack::stack()
{
cout << "creat stack\n"; tos = 0; } void stack::push(char ch) { if(tos==SIZE){ cout << "stack is full\n"; return; } stck[tos] = ch; tos++; } char stack::pop() { if(tos==0){ cout << "stack is empty\n"; return 0; } tos--; return stck[tos]; } int main() { stack s1, s2; int i; s1.push('a'); s1.push('b'); s1.push('c'); s2 = s1; for(i=0; i < 3; i++) cout << "pop s1: " << s1.pop() << "\n"; for(i=0; i < 3; i++) cout << "pop s2: " << s2.pop() << "\n"; return 0; }