第6周项目4-成员函数、友元函数和一般函数有区别

来源:互联网 发布:ug加工中心编程 编辑:程序博客网 时间:2024/04/30 05:49

问题描述:

  完成求点类中距离的任务。你需要实现求距离函数的三种版本:分别利用成员函数、友元函数和一般函数求两点间距离的函数,并设计main()函数完成测试。

代码:

#include<iostream>#include<cmath>using namespace std;class CPoint{private:    double x;    double y; public:    CPoint(double xx=0,double yy=0):x(xx),y(yy){}    double distance1(CPoint p);    friend double distance2(CPoint p1, CPoint p2);    int getX(){return x;}    int getY(){return y;}};double distance3(CPoint p1,CPoint p2);int main(){    CPoint p1(3,5),p2(2,8);    cout<<"两点间距离为:"<<endl;    cout<<p1.distance1(p2)<<endl;    cout<<distance2(p1,p2)<<endl;    cout<<distance3(p1,p2);    return 0;}double CPoint::distance1(CPoint p){    return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));}double distance2(CPoint p1, CPoint p2){    return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));}double distance3(CPoint p1,CPoint p2){    double a=sqrt((p1.getX()-p2.getX())*(p1.getX()-p2.getX())+(p1.getY()-p2.getY())*(p1.getY()-p2.getY()));    return a;}


 

运行结果:

0 0