码迷,mamicode.com
首页 > 其他好文 > 详细

第六周(友元函数)

时间:2015-04-14 14:46:54      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:c++ 生活

/*
*copyright(c) 2015,烟台大学计算机学院
*All rights reserved。
*文件名称:第六周(友元函数)

*作者:王忠
*完成日期:2015.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){}
    //请继续写需要的代码
    void distance1(CPoint p) const;
    friend void distance2(CPoint &,CPoint &);
    double getx() {return x;}
    double gety() {return y;}
};
 void  CPoint::distance1(CPoint p) const
{
    double s;
    s=sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
    cout<<s<<endl;
}
void distance2(CPoint &p1,CPoint &p2)
{
    double s;
    s=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
    cout<<s<<endl;
}
void distance3(CPoint &p1,CPoint &p2)
    {
        double s;
        s=sqrt((p1.getx()-p2.getx())*(p1.getx()-p2.getx())+(p1.gety()-p2.gety())*(p1.gety()-p2.gety()));
        cout<<s<<endl;
    }

int main()
{
    CPoint c1(5,5),c2(10,6);
    c1.distance1(c2);
    distance2(c1,c2);
    distance3(c1,c2);
    return 0;
}


 

技术分享

这个项目在一开始做的时候,应用了以前的程序,但有点难以下手,不知道如何去定义一些函数,后来在写的过程中,一般函数写进了类里,还忘记了一般函数不能访问类里私有成员

第六周(友元函数)

标签:c++ 生活

原文地址:http://blog.csdn.net/wangzhongwangmin/article/details/45040311

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!