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

有没有大佬知道为什么这样就是错的

https://img1.sycdn.imooc.com//5be81f830001a13a02850152.jpg之前视频中就是这样写啊,为什么这样写不对

正在回答

8 回答

前面题目帮你定义的是有参构造函数,你这里定义的是无参构造函数,系统不会自动定义无参构造函数,需要自己定义,系统找不到无参构造函数,所以报错;解决办法:你把参数写进括号里,例如Coordinate(3,5),下面不要p->iX=3; 就会自动调用有参构造函数,或者把Coordinate()的括号去掉;

0 回复 有任何疑惑可以回复我~

在括号里初始化数据成员怎么样

我实在括号里初始化的

0 回复 有任何疑惑可以回复我~

你这里面没有传参数,你的构造函数在初始化的时候需要传入参数。

0 回复 有任何疑惑可以回复我~

你在你的class里面写一个默认构造函数就可以了,本身函数有带参构造,你用的却是默认的,而且没写上去,系统不会给你分配的,所以会报错

0 回复 有任何疑惑可以回复我~

Coordinate()里面应该有参数吧

0 回复 有任何疑惑可以回复我~

例子中给了拷贝构造函数了,所以系统不会自动生成无参的拷贝构造函数,你自己得手动加上去应该就好了。

0 回复 有任何疑惑可以回复我~

你的Coordinate类的定义呢?贴出来看看。这样写确实没问题,前提是Coordinate类有默认的构造函数。

0 回复 有任何疑惑可以回复我~

可能是由于Coordinate类的构造函数不是构造函数导致的。

1 回复 有任何疑惑可以回复我~
#1

慕UI610320

可能是Coordinate类的构造函数不是默认构造函数导致的。
2018-11-11 回复 有任何疑惑可以回复我~
#2

南橘xx 提问者 回复 慕UI610320

啊啊啊啊,不太懂
2018-11-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

有没有大佬知道为什么这样就是错的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信