设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离.要求主函数如下:int main(){MyPoint p1,p2(2,7),p3(4),p4(5,6);cout

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 07:38:56

设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离.要求主函数如下:int main(){MyPoint p1,p2(2,7),p3(4),p4(5,6);cout
设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离.要求主函数如下:
int main()
{
MyPoint p1,p2(2,7),p3(4),p4(5,6);
cout

设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离.要求主函数如下:int main(){MyPoint p1,p2(2,7),p3(4),p4(5,6);cout
#include<iostream>
#include <math.h>
using namespace std;
class MyPoint
{
      private:
              double x;
              double y;
      public:
             MyPoint(){x=0;y=0;}//默认构造函数  p1用
             MyPoint(double a){x=a;y=a;}//带一个参数的构造函数,p3用
             MyPoint(double a, double b) {x=a;y=b;}//带两个参数的构造函数,p2,p4用
             
             void  printP()
             {
                   cout<<"("<<x<<","<<y<<")"<<endl;
             }
             
             double distance(const MyPoint &p)//成员函数,非友元函数 
             {
                     return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
             }
};
int main()
{    
     MyPoint p1,p2(2,7), p3(4), p4(5,6);    
     cout<<"p1的坐标: "<<endl;    
     p1.printP();    
     cout<<"p2的坐标为: "<<endl;    
     p2.printP();    
     double d = p1.distance(p2);    
     cout<<"p1和p2的距离为: "<<d<<endl;
}

测试结果: