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

最赞回答 / 晚唱
构造函数里,申请内存应该是new char[Size]吧。

最赞回答 / MAKER_01
应该是栈存储和数组存储一样,首地址为0,新增一个元素后m_iTop+1,指向下一个位置,元素存在位置0的内存中。因此第n个元素位置和对应的m_iTop=n指向的位置不同

最赞回答 / 黑巫师0
m_pBuffer = new char[size];  使用new动态申请了size个char类型大小的空间,如果把char换成类名时,就是申请size个类名大小的空间。但只要是给类实例化对象申请空间,就要调用类的构造函数,而所写的构造函数如果是Coordinate(int x , int y );  不是默认构造函数,参数没有默认值,在实例化对象时,就必须给赋予x,y值,否则就会报错,而使用new运算符申请多个内存时,无法为每个对象都赋初值x,y。那样就会报错。因此就需要将构造函数改为有默认值的构造函...

最新回答 / 翔纪念83574491
说一下出桟操作的,如果前面if语句满足要求的话,程序就直接return,后面的就不会执行,如果不满足要求的话,程序就会跳过if语句,执行后面的return语句,因此push那个操作是没有问题的

最新回答 / ziom
遍历的时候不就取出来了吗,老师的demo中数据就是存入数组中的啊。

最赞回答 / 我呵呵了
如果if(!pNeedStack->pop(currentNeed)){currentNeed=0;}  括号里面的条件是false,就相当于!pNeedStack->pop(currentNeed) 这句话是错的,注意前面的“!”,这句话要是错的,那么pNeedStack->pop(currentNeed) 就为真, 这句话本身也是一个出栈的操作,所以说,如果是真的话,会有东西出栈的,存到了currentNeed中。

最赞回答 / 慕村3311326
这据说是VC的一个经典BUG。和namespace也有关.  只要含有using namespace std; 就会提示友员函数没有访问私有成员的权限。 解决方法:去掉using namespace std;换成更小的名字空间。  using std::endl; using std::cout;using std::ostream;或者将重载运算符函数放在Coordinate类中去定义。亲测两种均有效

最新回答 / 慕勒5728629
嗯,你说的对

最新回答 / 不惧亢龙
复习了下前面的知识,明白了,没有同名可不用

最赞回答 / qq_新欢_2
最后应该写成delete pStack;,我看你写成delete []pStack;        看来你和我一样,一开始以为这个是五个长度的数组了所以加了[]试试吧,我改过这个就对了
课程须知
"本课程是数据结构初级课程 1、熟练掌握C++语言基础语法"
老师告诉你能学到什么?
1、栈的工作原理 2、栈的实现方法及编码技巧 3、栈模板的编码技巧和使用技巧 4、数制转换编程思路及栈的作用 5、括号匹配编程思路及栈的作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消