第07周:项目三:改

来源:互联网 发布:c语言大全 豆瓣 编辑:程序博客网 时间:2024/06/07 08:14
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 作    者:王颖* 完成日期:2014 年 4 月 14 日* 版 本 号:v1.0* 输入描述: 无* 问题描述:利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数,并设计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 &);    friend double distance2(CPoint &, CPoint &) ;    double getX()    {        return x;    }    double getY()    {        return y;    }};double distance3(CPoint &,CPoint &) ;double CPoint::distance1(CPoint &p){    double dx=(x-p.x), dy=(y-p.y);    return sqrt(dx*dx+dy*dy);}double distance2(CPoint &p1,CPoint &p2){    double dx=(p1.x-p2.x), dy=(p1.y-p2.y);    return sqrt(dx*dx+dy*dy);}double distance3(CPoint &p1,CPoint &p2){    double dx=(p1.getX()-p2.getX()), dy=(p1.getY()-p2.getY());    return sqrt(dx*dx+dy*dy);}int main(){    CPoint p1(10,13), p2(-5,6);    cout<<p1.distance1(p2)<<endl;    cout<<distance2(p1,p2)<<endl;    cout<<distance3(p1,p2)<<endl;    return 0;}

心得体会:这样做两点间的距离可以是任意选的两点,我的那种做法只能是那两个点。

0 0