用面向对象方法实现栈(stack)
实验内容:栈又叫堆栈,是一个常用的数据结构,它是一种运算受限的线性表,仅允许在表的一端进行插入和删除运算,是一种后进先出表。使用面向对象方式,设计并实现一个存放整数的栈类,并测试。
提示:栈用一维整型数组表示,栈定义为一个类stack,实现栈的初始化(init)、出栈(pop)和进栈(push)、显示栈顶元素的函数(top)、判断栈是否为空(isEmpty)或满(isFull)。
/**栈用一维整型数组表示,栈定义为一个类stack,
实现栈的初始化(init)、出栈(pop)和进栈(push)、
显示栈顶元素的函数(top)、
判断栈是否为空(isEmpty)或满(isFull)。**/
#include <iostream>
using namespace std;
const int MaxStack=5;
class Stack
{
public:
void init();//初始化
void push(int n);//进栈
void pop();//出栈
bool isFull();//判断栈是否满
bool isEmpty();//判断栈是否为空
void stackTop();//读取栈顶元素
void print();//输出栈中元素
private:
int top;
int arr[MaxStack];
void errMsg(string s);
};
void Stack::init()
{
top=-1;
}
bool Stack::isFull()
{
if(top>=MaxStack)
{
return true;
}
else
{
return false;
}
}
bool Stack::isEmpty(