c++第3次实验

来源:互联网 发布:2017年中日贸易数据 编辑:程序博客网 时间:2024/05/16 10:14

一、问题及代码

/*  * 文件名称:友元函数 * 作    者: 刘丽  * 完成日期:2016年4月11日  * 版 本 号: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 display1(CPoint &p);    friend  double display2(CPoint &p1,CPoint &p2);    double getx(){return x;}    double gety(){return y;}};double CPoint ::display1(CPoint &p){    double dx=p.x-x;    double dy=p.y-y;    return sqrt(dx*dx+dy*dy);}double display2(CPoint &p1,CPoint &p2){    double dx=p1.x-p2.x;    double dy=p1.y-p2.y;    return sqrt(dx*dx+dy*dy);}double display3(CPoint &t1,CPoint &t2){    double dx=t1.getx()-t2.getx();    double dy=t1.gety()-t2.gety();    return sqrt(dx*dx+dy*dy);}int main(){    CPoint p1(9,10),p2(3,4);    cout<<"两点间距离为:"<<p1.display1(p2)<<endl;    cout<<"两点间距离为:"<<display2(p1,p2)<<endl;    cout<<"两点间距离为:"<<display3(p1,p2)<<endl;}

二、运行结果


三、心得体会

成员函数和友元函数均可以直接访问私有成员,一般函数不能直接访问私有成员,只能用公共接口t.get()形式访问私有数据成员。

四、知识点总结

成员函数和友元函数均可以直接访问私有成员,一般函数不能直接访问私有成员,只能用公共接口t.get()形式访问私有数据成员。


0 0
原创粉丝点击