猿问

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

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








月关宝盒
浏览 87回答 2
2回答

ibeautiful

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

拉风的咖菲猫

#include&nbsp;<iostream>using&nbsp;namespace&nbsp;std;&nbsp;template<class&nbsp;Type>class&nbsp;MyPittyStack{&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;public:&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;a[100];&nbsp;&nbsp;&nbsp;&nbsp;bool&nbsp;push(Type&nbsp;n);&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&top();&nbsp;&nbsp;&nbsp;&nbsp;MyPittyStack();};&nbsp;template<class&nbsp;Type>MyPittyStack<Type>::MyPittyStack(){&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;0;}&nbsp;template<class&nbsp;Type>bool&nbsp;MyPittyStack<Type>::push(Type&nbsp;n){&nbsp;&nbsp;&nbsp;&nbsp;a[i++]&nbsp;=&nbsp;n;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;}&nbsp;template<class&nbsp;Type>Type&nbsp;&&nbsp;MyPittyStack<Type>::top(){&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;a[i];}&nbsp;int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;MyPittyStack<int>&nbsp;s;&nbsp;&nbsp;&nbsp;&nbsp;s.push(123);&nbsp;&nbsp;&nbsp;&nbsp;s.top()&nbsp;=&nbsp;456;&nbsp;&nbsp;&nbsp;&nbsp;cout<<s.top()<<endl;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}
随时随地看视频慕课网APP

相关分类

Java
我要回答