设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离
设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离。要求主函数如下:intmain(){MyPointp1,p2(2,7),p3(4...
设计一个点类Point,并为这个类设置一个友元函数,这个友元函数用来计算两个点之间的距离。要求主函数如下:
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;
} 展开
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;
} 展开
2个回答
展开全部
#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;
}
测试结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询