#include<iostream.h>
#include<math.h>
class point
{
double x,y;
public:
point(double xx,double yy){x=xx;y=yy;};
point(point &p){x=p.x;y=p.y;cout<<"point"<<getx()<<endl;};
double getx(){return x;};
double gety(){return y;};
};
class Dis
{
point p1,p2;double dist;
public:
Dis(point xp1,point xp2):p1(xp1),p2(xp2)
{
cout<<"ids"<<endl;
double x=xp1.getx()-xp2.getx();
double y=xp1.gety()-xp2.gety();
dist=sqrt(x*x+y*y);
}
double getdis(){return dist;}
};
void main()
{
point m1(1,1),m2(4,5);
Dis my(m1,m2);
cout<<"the dist "<<my.getdis()<<endl;
}
大家看看结果是什么哈 ,
为什么是先调用xp2的构造函数?