友元点类

来源:互联网 发布:单片机如何控制12v电机 编辑:程序博客网 时间:2024/04/30 02:53
/*
 Copyright(c)2016,烟台大学计算机与控制工程学院
 All rights reserced
 文件名称:test.cpp
 作    者:高玉杰
 完成日期:2016年5月25日
 版 本 号: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 &); //参数用const 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<<"1. "<<p1.distance1(p2)<<endl;      cout<<"2. "<<distance2(p1,p2)<<endl;      cout<<"3. "<<distance3(p1,p2)<<endl;      return 0;  }  

0 0
原创粉丝点击