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

最新回答 / 等候稻香
解决方案:头文件和源文件都在同一个项目中(即Coordinate.h和Coordinate.cpp一起放在项目中),头文件中定义方法,在源文件中实现,并且方法前加上Coordinate::,关键是Coordinate.cpp中加上include “stdafx.h””stdafx.h“的原理:编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#...
封装篇怎么突然加了这么一节内容,太突然了,哈哈哈哈
6分22秒,应该是pCoor=&coor2,老师是不是呢?
如果有演讲的这个ppt资料提供就更好了~~希望可以给出!!!!

已采纳回答 / onemoo
这两种写法对于有默认构造函数的类对象来说没有区别,这两种写法都是调用其默认构造函数。所以如果Coordinate有默认构造函数,这样的写法就没区别。没有默认构造函数的话,这两种写法都编译不过。另外,这两种写法对于built-in类型是有区别的:不带括号时,构造的对象是default initialized,对于built-in类型,这种情况下初值是不确定的。带空括号时,对象是value initialized,对于built-in类型来说,初值一般是0。
讲的真不错,看着也不错,赞赞赞
#ifndef __CORDINATE__
#define __CORDINATE__

#endif
看清楚了。。。

我只是要看清楚
好基友,一辈子呀。
雪姨亮了!
这集有点像绕口令,可以起一些好读得变量名吧
@qq_woaitt_0,我和你上面的一样,我得执行结果是
1,2
3,4
这节课为什么一直刷新不出来?
这节课没必要讲的这么复杂吧,我写得代码参考如下:
coordinate arr[3];
arr[0].x=0;
arr[0].y=0;
………………
coordinate *p=new coordinate[3];
p->x=0;
p->y=0;
(p+1)->x=1;
……
for(int i=0;i<3;i++)
cout<<arr[i].x<<endl;
for(int j=0;j<3;j++)
cout<<p[j].x<<endl;
Xcode下运行正确
有个容易混淆的地方,封装篇上部有讲 people *p = new people();
这个是使用的圆括号,而在对象数组中使用的时[]

已采纳回答 / AAnonymous
p1 是一个对象, 分配在栈上p2是一个指针,指向p1这个对象,即p2指向p1在栈上的地址(并没有创建新的对象)Coordinate *p2 = new Coordinate(); 才创建了新的对象,在堆上
课程须知
本课程是C++初级课程 需要掌握C++语言基础语法 如果不太熟悉的话,可以观看: 《C++远征之起航篇》 《C++远征之离港篇》 《C++远征之封装篇(上)》
老师告诉你能学到什么?
1、对象数组的定义和使用 2、对象成员的定义和使用 3、深拷贝和浅拷贝 4、对象指针、对象引用的定义和使用 5、常对象指针、常对象引用、常成员函数的定义和使用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消