读书人

请问大神们一个小疑点

发布时间: 2013-11-25 13:22:27 作者: rapoo

请教大神们一个小问题
class Point
{
public:
Point(double a = 0.0,double b = 0.):x(a),y(b){}
double distance(Point &p1,Point &p2);
private:
double x;
double y;
};
double Point::distance(Point &p1,Point &p2)
{

return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
int main()
{
Point p1(4,5);
Point p2(1,1);
double d = distance(&p1,&p2);
cout<<"两点间的距离为"<<d<<endl;
return 0;
}
为什么输出的结果是-1,是哪里有问题,请各位指点
[解决办法]

double d = distance(&p1,&p2); //函数参数是引用,你这里取地址,肯定有问题啊



使用double d = distance(p1,p2);


[解决办法]


double d = p1.distance(p1,p2);

读书人网 >C++

热点推荐