成员函数,友元函数,一般函数有区别

来源:互联网 发布:生鲜运输 知乎 编辑:程序博客网 时间:2024/04/28 14:30
//02.* Copyright (c) 2013, 烟台大学计算机学院//04.* 作    者: 马德鹏//05.* 完成日期:2014 年 4 月 12 日//06.* 版 本 号:v1.0//07.*#include <iostream>#include <cmath>using namespace std;class CPoint{private:    double x;//横坐标    double y;//纵坐标public:    CPoint(double xx=0,double yy=0);    double Distance1(CPoint &) ;  //求两点间的距离    friend double Distance2(CPoint &,CPoint &);    double getx();//    double gety();//};double CPoint::getx(){    return x;             //返回X;}double CPoint::gety(){    return y;    //返回Y;}CPoint::CPoint(double xx,double yy){    x=xx;    y=yy;}double CPoint::Distance1(CPoint &p){    return(sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)));    //成员函数求两点间的距离}double Distance2(CPoint &m,CPoint &n){    return(sqrt((m.x-n.x)*(m.x-n.x)+(m.y-n.y)*(m.y-n.y)));    //友元函数求两点间的距离}double Distance3(CPoint &p1,CPoint &p2){    return(sqrt((p1.getx()-p2.getx())*(p1.getx()-p2.getx())+(p1.gety()-p2.gety())*(p1.gety()-p2.gety())));}                  //一般函数求两点间的距离int main(){    CPoint op1(4,5),op2(8,9);    cout<<"成员函数:"<<endl;    cout<<op1.Distance1(op2)<<endl;    cout<<"友元函数:"<<endl;    cout<<Distance2(op1,op2)<<endl;    cout<<"一般函数:"<<endl;    cout<<Distance3(op1,op2);    return 0;}

我快要发飙了,现在越来越佩服那些程序猿前辈了,
0 0