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

已采纳回答 / F2541989997
p++和p+=1是一样的,都是p本身指向的位置发生了变化,int *p=a;  之后执行p++或者p+=1,*(p+1)的值都是3。

最赞回答 / 慕雪908267
这里创建的*P是一个对象,所以销毁的时候不用[];当创建的是一个对象数组的话就需要[];这个是内存管理的内容,即申请一个内存,销毁的时候是delete p;申请的是内存块的话就要delete []p

已采纳回答 / qq_慕圣7592846
p是指针,在执行完for的最后一次操作之后,p指向了申请的内存的之前一个位置,也就是p[-1],如果不p++,归还的内存是从p[-1]开始的,是错误的

已采纳回答 / 宝慕林0048322
//确定方向 如果方向上有墙就逆时针转一下 void turnBack(string map[X][Y], Human *man) { static int cache = 0; if (man->direction == N) { if (map[man->x - 1][man->y] == WALL) { man->direction = W; cache++; turnBack(map, man); } cache = 0; return...

最赞回答 / 慕UI610320
可能是由于Coordinate类的构造函数不是构造函数导致的。

已采纳回答 / 阿臣儿
这个Array是一个我们自定义的类,它和int其实差不多,只不过int是系统给我们定义好了的,我们直接去使用就好了,声名一个函数的时候最前面的是返回的类型(无返回值用void),比如视频中的int getlen(),返回的是一个int类型的值,而Array printInfo()返回的是一个Array类型的值(临时对象),所以后面老师可以继续使用 .(点)运算符访问这个临时对象的其他成员函数,不知道楼主能不能明白

已采纳回答 / qq_风止时安静_0
Coordinate(3,5)是类的构造函数,不是类的对象,因此你的指针*p是在堆上申请内存,而不是指向一个栈上的对象,因此要加new

已采纳回答 / 知否bot丶
常对象只能调用常成员函数。 m_coorA为常对象,而setA 为普通成员函数,m_coorA.setA(T* this,int x,int y)参数 T* this指的当前对象有可读可写权限,而m_coorA 只有可读权限。肯定是不可以的。

已采纳回答 / 慕仙2473030
p1是指针,不是函数,不能有参数。

已采纳回答 / JudyLuo
老师这里演示的目的是向大家展示对象成员指针创建和销毁的顺序,只是采用了构造函数进行赋初值,没有用到没有进行数据封装来赋值,你可以自己写的。

已采纳回答 / 海泽王来学习
就是按下方向键或tab,tab其实就是切换键,在这可以做选择。总的来说自动补全比你自己输入的话准确省事

已采纳回答 / 慕后端2533681
this指针指向的就是该对象的地址,所以一定是成员变量啊

已采纳回答 / 慕数据2169645
声明数组初始化过程中,会调用形参类型相匹配的构造函数,如果没有指定数组元素的初始值,就会调用默认构造函数。你在声明的时候没有指定初始值,所以需要调用默认构造函数。如果不调用默认构造函数的话,就需要设置初始值,就是我上一条回复你的那句。

已采纳回答 / 漂亮到五体投地的小仙女
因为在程序中老师要调用m_iX和m_iY,只有public可以被调用,private中的参数无法使用
课程须知
本课程是C++初级课程 需要掌握C++语言基础语法 如果不太熟悉的话,可以观看: 《C++远征之起航篇》 《C++远征之离港篇》 《C++远征之封装篇(上)》
老师告诉你能学到什么?
1、对象数组的定义和使用 2、对象成员的定义和使用 3、深拷贝和浅拷贝 4、对象指针、对象引用的定义和使用 5、常对象指针、常对象引用、常成员函数的定义和使用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消