#include<iostream>
#include<windows.h>
using namespace std;
class CStack
{
public:
CStack(int nSize);
~CStack();
void push(char a);
void pop();
private:
char* m_pData;
int m_nLength; // 栈长度
int m_nCount; // 当前元素个数
};
CStack::CStack(int nSize)
{
m_pData = new char(nSize);
if(!m_pData)
{
cout<<"内存分配失败!";
exit(1);
}
m_nLength = nSize;
m_nCount = 0;
}
CStack::~CStack()
{
if(m_pData)
{
delete m_pData;
m_pData = NULL;
}
}
void CStack::push(char a)
{
m_pData[m_nCount] = a;
m_nCount++;
}
void CStack::pop()
{
if(m_nCount)
{
cout<<m_pData[--m_nCount];
}
else
cout<<"栈空";
}
void main()
{
CStack s1(9);
char p='o';
s1.push(p);
s1.pop();
system("pause");
}