问题
填空题
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。 template<class T> class Tstack { enum{size=1000}; T stack[size]; int top; public: Tstack():top(0){} void push(const T &i){ if(top<size) stack[top++]=i; } T pop(){ if(top= =0)exit(1); //栈空时终止运行 return______; } };
答案
参考答案:stack[--top]或stack[top-=1]或stack[top=top-1)
解析: 此愿考查的是类模板。在函数pop函数体内应该完成的是弹出元素stack[top-1],然后将top做减1操作,且空格处要求这两个操作在一条语句中完成。