第七周项目二:友元函数

来源:互联网 发布:陈都灵 章泽天 知乎 编辑:程序博客网 时间:2024/05/22 01:35
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者:李蒙 * 完成日期: 2013年04月14日 * 版本号: v1.0 * 输入描述:无 * 问题描述:无 * 程序输出:无 */  #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(1,2), p2(3,4);      cout<<"1. "<<p1.distance1(p2)<<endl;      cout<<"2. "<<distance2(p1,p2)<<endl;      cout<<"3. "<<distance3(p1,p2)<<endl;      system("pause");      return 0;  }

输出结果:
原创粉丝点击