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

最赞回答 / qq_第天堂_03899060
#include <iostream>#include "Stack.h" using std::string;using std::cout;using std::endl; /** * 检测字符串中的括号是否匹配 * @param str 待检测匹配的字符串 * @param tps1 匹配的符号 * @param tps2 与tps1相匹配且顺序一致的符号 * @return 括号是否匹配的布尔值 */bool isPaired(string str, string tps1, stri...

最新回答 / weixin_慕雪0498266
m_iTop是栈顶指针所在位置,而栈顶指针比最后进入栈数据的位置大1(栈顶指针指向栈最后一个元素后面一个位置),m_iTop--则表示栈中最后一个元素的位置

最赞回答 / 晚唱
构造函数里,申请内存应该是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
嗯,你说的对

最新回答 / 不惧亢龙
复习了下前面的知识,明白了,没有同名可不用
课程须知
"本课程是数据结构初级课程 1、熟练掌握C++语言基础语法"
老师告诉你能学到什么?
1、栈的工作原理 2、栈的实现方法及编码技巧 3、栈模板的编码技巧和使用技巧 4、数制转换编程思路及栈的作用 5、括号匹配编程思路及栈的作用

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消