#include <iostream>
using namespace std;
#define MAX_NUM 100
class stack
{
public:
int num[MAX_NUM];
int top;
public:
stack(){ top = -1;}
~stack(){}
void print(void);
void push(int node);
void pop(int* lpnode);
bool empty(){return top == -1 ? 1 : 0 ;};
};
void stack::push(int node)
{
if ( top < MAX_NUM-1)
{
num[++top] = node ;
}
else
{
cout<<"stack is overflow"<<endl;
}
}
void stack::pop( int* lpnode )
{
if (top < 0)
{
cout<<"stack is empty"<<endl;
}
else
{
*lpnode = num[top--];
}
}
void stack::print( void )
{
int temp = top;
while ( temp>= 0 )
{
cout<<num[temp--]<<endl;
}
}
void main(void)
{
stack temp;
for (int i=0 ; i < 10 ; i++)
{
temp.push(i);
}
temp.print();
int n,m;
for (int i1=1;i1<3;i1++)
{
temp.pop( &n );
cout<<n<<endl;
}
cout<<"-------------------"<<endl;
temp.print();
}