C++:不存在默认构造函数?

代码如下//head.h#include<iostream>#include<cmath>usingnamespacestd;classpoint{friendclass... 代码如下
//head.h
#include<iostream>#include<cmath>using namespace std;class point{friend class dis;private: int X; int Y;public: point(int x,int y) {X=x;Y=y;} void show() {cout<<X<<","<<Y<<endl;}};class dis{private: point A; point B;public: dis(point a,point b) {A=a;B=b;} void showdis() {cout<<sqrt(double((A.X-B.X)*(A.X-B.X)+(A.Y-B.Y)*(A.Y-B.Y)))<<endl;}};
错误图片如下:
就算是我初始值,那还是同样的错误
point(int x,int y):X(0),Y(0)
{X=x;Y=y;}
为什么改成
point(int x=0,int y=0) {X=x;Y=y;}
就可以了呢》我是初学者
展开
 我来答
相思丶猫2C
2013-07-25 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:948万
展开全部
如果你提供了一个带参数的构造函数,那么编译器不负责提供默认(就是无参)的构造函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaokai900214
2013-07-25 · 超过18用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:50.7万
展开全部
你已经定义了一个带参数的构造函数侍伍者point(int x,int y)系统就老薯不会在提供默认构造函数了。你可以参橘春考http://wenku.baidu.com/view/84d3458a6529647d272852dc.html希望对你有帮助,祝你好运,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周生008
2013-07-25 · TA获得超过1222个赞
知道小有建树答主
回答量:1329
采纳率:0%
帮助的人:643万
展开全部
point要提供一个复制构造函数,在dis中初始化要采用初始化表的方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式