#include < iostream.h > #include < math.h > class Point ... { public:Point(int xx=0,int yy=0) ...{X=xx;Y=yy;} //构造函数的定义Point(Point &P); //拷贝构造函数定义int GetX() ...{return X;} //得到X的值。int GetY() ...{return Y;} //得到Y的值private: int X,Y;} ;Point :: Point(Point & P) // 拷贝构造函数的实现 ... { X=P.X; Y=P.Y; cout<<"point拷贝构造函数的调用"<<endl; cout<<"Point"<<endl;} // 类的组合 class Distance ... { public: Distance(Point XP1,Point XP2); double GetDis()...{return Dist;}private: Point P1,P2; double Dist; double x,y;} ; // 组合类的构造函数 Distance::Distance(Point XP1,Point XP2):P1(XP1),P2(XP2) ... { cout<<"Distance 构造函数调用"<<endl; x=double(P1.GetX()-P2.GetX()); y=double(P1.GetY()-P2.GetY()); Dist=sqrt(x*x+y*y);} void main() ... { Point myp1(1,1), myp2(4.5); Distance myd(myp1,myp2); cout<<"the distance is"<<endl; cout<<myd.GetDis()<<endl; }