C++面向对象出错子error C2661: 'Point::Point' : no overloaded function takes 4 parameters

#include<iostream.h>
#include<stdio.h>
#include<math.h>
class Point
{
int x1,x2,y1,y2;
public:

void point(int p=0,int q=0,int a=0,int b=0)
{
x1=p;
x2=q;
y1=a;
y2=b;
}
void Distance(int p=0,int q=0,int a=0,int b=0)
{
double D;
x1=p;
x2=q;
y1=a;
y2=b;
D=sqrt((x1-y1)*(x1-y1)+(x2-y2)*(x2-y2));
cout<<"用成员函数输出的距离为:"<<D<<endl;
}
friend double Distance(Point dis);
};

double Distance(Point dis)
{
return sqrt((dis.x1-dis.y1)*(dis.x1-dis.y1)+(dis.x2-dis.y2)*(dis.x2-dis.y2));
};
class Dstance
{
Point points;
double range;
public:
Dstance(int p1,int q1,int a1,int b1);
};
Dstance::Dstance(int p1,int q1,int a1,int b1):points(p1,q1,a1,b1)//出错
{
range=sqrt((p1-a1)*(p1-a1)+(q1-b1)*(q1-b1));
}
void main()
{
Point dis;
dis.Distance(1,1,4,4);
cout<<"用友元函数输出的距离为:"<<Distance(dis)<<endl;
Dstance T(1,1,4,4);
}
error C2661: 'Point::Point' : no overloaded function takes 4 parameters

目测 是你构造 函数名首字母写成小写了
void point(int p=0,int q=0,int a=0,int b=0)

应该是:
void Point(int p=0,int q=0,int a=0,int b=0)
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网