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

已采纳回答 / AAnonymous
p1 是一个对象, 分配在栈上p2是一个指针,指向p1这个对象,即p2指向p1在栈上的地址(并没有创建新的对象)Coordinate *p2 = new Coordinate(); 才创建了新的对象,在堆上
Coordinate coorArr[1];
coorArr[0].m_iX = 1;
coorArr[0].m_iY = 2;
coorArr[1].m_iX = 3;
coorArr[1].m_iY = 4;
为什么结果是(1,2),(3,1)?????
我去这也行,当然行。
讲的很很狠好。。。
听得比较明白
老师在不在,我的程序按你的要求不对呀

最赞回答 / AAnonymous
一般 new出来的对象就在堆上,需要手动释放。局部临时变量就在栈上,超出作用域后会被被释放
一般还会在深拷贝的基础上实现 "读时共享,写时复制" 的模式. 即不需要在拷贝构造函数中复制, 而是通过将维护的引用计数++. 当写时, 再进行复制, 并新开辟一引用计数. 在析构函数中, 检测引用计数, 当其为1时, 真正释放内存空间, 否则引用计数--.
我的网页在选项确定那里不能下拉点确定。
mark,老师真棒
IDE终于换serif字体了?
大笔一挥,到此一游
this->len=len;代表对象的地址
听相声一样有趣,谢谢老师
栈区的指针系统自动释放,堆区的指针才由程序员自己释放。
常对象只能调用常成员函数,不能调用普通成员函数。
普通对象两者皆可调用。
接楼下:
在 main.cpp 再次引用 Coordinate.h 使其多次调用造成redefine,因为已经被Line.h调用过,在主文件中无需再次声明。
课程须知
本课程是C++初级课程 需要掌握C++语言基础语法 如果不太熟悉的话,可以观看: 《C++远征之起航篇》 《C++远征之离港篇》 《C++远征之封装篇(上)》
老师告诉你能学到什么?
1、对象数组的定义和使用 2、对象成员的定义和使用 3、深拷贝和浅拷贝 4、对象指针、对象引用的定义和使用 5、常对象指针、常对象引用、常成员函数的定义和使用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消