为了账号安全,请及时绑定邮箱和手机立即绑定

请问大神们,要怎么实现这个top()函数【返回栈最顶元素,并且能够修改其值】的功能呢?

请问大神们,要怎么实现这个top()函数【返回栈最顶元素,并且能够修改其值】的功能呢?

月关宝盒 2023-02-11 18:14:44
如图,通过s.top()函数是可以直接修改栈堆最顶元素的值的。我们老师叫我们自己仿写一个栈,我写了一个,但是这个top()函数的功能却不懂怎么实现。如下图:错误提示是:error C2244: 'MyPittyStack<Type>::top' : unable to resolve function overload.
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

Type *MyPittyStack()
{
return &s[tos-1];//如果是从0开始累积tos,就要-1
}

查看完整回答
反对 回复 2023-02-15
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

#include <iostream>using namespace std; template<class Type>class MyPittyStack{    int i;public:    Type a[100];    bool push(Type n);    Type &top();    MyPittyStack();}; template<class Type>MyPittyStack<Type>::MyPittyStack(){    i = 0;} template<class Type>bool MyPittyStack<Type>::push(Type n){    a[i++] = n;    return true;} template<class Type>Type & MyPittyStack<Type>::top(){    return a[i];} int main(){    MyPittyStack<int> s;    s.push(123);    s.top() = 456;    cout<<s.top()<<endl;    return 0;}


查看完整回答
反对 回复 2023-02-15
  • 2 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信