返回信息流我自己按书上的,写了个栈的实现。 但是遇到个小问题,请教一下大家。
下面是我的代码,问题是在pop的时候,如果是空栈,那我怎么返回一个值比较好呢?我现在是用初始化0来做的,我觉得不是很好。大家有什么建议?
#include <iostream>
using namespace std;
#define MAX_STACK_SIZE 1024
template <class C> class Stack
{
C stack[MAX_STACK_SIZE];
int top;
public:
Stack():top(-1){};
~Stack(){ cout << "release Stack" << endl;}
int push(C item)
{
if (top >= (MAX_STACK_SIZE -1))
{
cout << "stack overflow" << endl;
return -1;
}
cout << top << endl;
stack[++top] = item;
}
C pop()
{
if (top == -1)
{
cout << "empty stack" << endl;
return C(0);
}
return stack[top--];
}
};
这是一条镜像帖。来源:北邮人论坛 / cpp / #44128同步于 2010/9/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请教一个栈代码的问题
hman
2010/9/19镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。