第六周项目四 友元函数 求两点距离

来源:互联网 发布:哪里可以买淘宝账号 编辑:程序博客网 时间:2024/05/04 20:52
/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*dood luck*文件名称:d.cpp*作    者:张旺华*完成日期:2015年4月15日*版 本 号:v1.0**///(2)模仿上面的示例,完成求点类中距离的任务。你需要实现求距离函数的三种版本://分别利用成员函数、友元函数和一般函数求两点间距离的函数,并设计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 &p,CPoint &q);    double getx();    double gety();};double CPoint::distance1(CPoint &p){    return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));}double distance2(CPoint &p,CPoint &q){    return sqrt((q.x-p.x)*(q.x-p.x)+(q.y-p.y)*(q.y-p.y));}double CPoint::getx(){    return x;}double CPoint::gety(){    return y;}double distance3(CPoint &p,CPoint &q){    return sqrt((q.getx()-p.getx())*(q.getx()-p.getx())+(q.gety()-p.gety())*(q.gety()-p.gety()));}int main(){    CPoint a(1,4);    CPoint b(3,6);    cout<<a.distance1(b)<<endl;    cout<<distance2(a,b)<<endl;    cout<<distance3(a,b)<<endl;}


 

0 0
原创粉丝点击