这里用先用一个简单的char类型栈来说明原来
MyStack.h
#pragma once
class MyStack
{
private:
char *m_pBuffer; // 栈空间的指针
int m_iSize; // 栈容量
int m_iTop; // 栈顶
public:
MyStack(int size);
~MyStack();
bool stackEmpty(); //判断栈是否为空
bool stackFull(); //判断栈是否满
void clearStack(); // 清空栈
int stackLength(); // 已有元素的个数
bool push(char elem); // 将元素入栈
bool pop(char &elem); // 出栈
void stackTraverse(); // 栈遍历
};
MyStack.cpp
#include "MyStack.h"
#include<iostream>
using namespace std;
MyStack::MyStack(int size)
{
m_iSize = size;
m_pBuffer = new char[size];
m_iTop = 0;
}
MyStack::~MyStack()
{
delete[] m_pBuffer;
}
bool MyStack::stackEmpty()
{
if (m_iTop == 0)
return true;
else
return false;
}
bool MyStack::stackFull()
{
if (m_iTop >= m_iSize)
return true;
else
return false;
}
void MySta