VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 574|回复: 1

[求助] 请大神指教一下

[复制链接]
07_avatar_middle
在线会员 发表于 2016-4-22 22:19:02 | 显示全部楼层 |阅读模式
3驿站币
请大神指教一下
请大神指教一下
请大神指教一下   我在Point 类里面定义了一个拷贝构造函数  然后再Line类 里面的构造函数的参数里面 用了(Point p1,Point p2)为什么编译的时候会有这样的错误   ““Point”: 没有合适的默认构造函数可用”  不是作为参数的时候   调用拷贝构造函数吗  为什么会变成定义对象了吗?  但是到了普通函数里面就可以了   比如 void  Line::fun(Point p1,Point p2);就可以了   不懂  
请大神指教一下





上一篇:哪本书讲com和c++,有没有电子版
下一篇:关于基础班17课弹出菜单操作
53_avatar_middle
在线会员 发表于 2016-4-23 19:47:48 | 显示全部楼层
问题所在:

首先 Point 类没有缺省构造函数
因为你定义了
Point(double x,double y);却没有定义Point();
前者覆盖了后者

另外,类对象作为参数传递理论上是没有问题的,但大家一般都会用对象的引用或指针作为参数
Line(Point p1,Point p2)  应该写成 Line(Point & p1,Point & p2)  或者 Line(Point * p1,Point * p2);

问题出在哪?
应该是出在类 Line 的成员变量上

Point A,B

因为Point 没有缺省构造函数,所以不能这么定义变量。

评分

参与人数 1威望 +3 驿站币 +3 热心值 +3 收起 理由
51_avatar_small Syc + 3 + 3 + 3 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-8-19 08:36

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表