设计一份坐标点类型,要求用友元函数完成。
设计一个坐标点类型,要求有下列成员。坐标点位置:doubleX,Y;提取横坐标:doubleGetX();提取纵坐标:doubleGetY();友元函数:frienddo...
设计一个坐标点类型,要求有下列成员。
坐标点位置:double X,Y;
提取横坐标:double Get X();
提取纵坐标:double GetY();
友元函数:friend double GetLength (Point&A,Point&B);
在main()中定义线段的两个端点,输出端点的位置,利用友元计算并输出线段的长度。 展开
坐标点位置:double X,Y;
提取横坐标:double Get X();
提取纵坐标:double GetY();
友元函数:friend double GetLength (Point&A,Point&B);
在main()中定义线段的两个端点,输出端点的位置,利用友元计算并输出线段的长度。 展开
展开全部
#include "iostream.h" #include "math.h" class Location { private: int x,y; public: Location(int i, int j):x(i),y(j) {} int Getx( ) {return x;} int Gety( ) {return y;} double distance(Location b); friend double distance(Location &a, Location &b); }; double distance(Location &a, Location &b) //友元函数 { int dx=a.x-b.x; int dy=a.y-b.y; return sqrt(dx*dx+dy*dy); } double Location::distance(Location b) //成员函数 { int dx=x-b.x; int dy=y-b.y; return sqrt(dx*dx+dy*dy); } void main( ) { Location A(-10,-20),B(-40,60); cout<<"A("<<A.Getx( )<<","<<A.Gety( )<<"),B("<<B.Getx( )<<","<<B.Gety( )<<")"<<endl; double d=A.distance(B); //调用成员函数 cout<<"Distance1= "<<d<<endl; cout<<"Distance2= "<<distance(A,B)<<endl;} //调用友元函数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询