实验三

作者: 修夏之夏i | 来源:发表于2018-05-27 23:19 被阅读11次

编写程序,定义一个平面点“Point”类及计算两点之间距离“Distance”类,
将“Distance”类定义为“Point”类的友元类;
并在main()中计算任意两点的距离。

#include<string.h>
#include<iostream>
#include<math.h>
using namespace std;

//友元类是指一个类可以作为另一个类的友元。
//可以用友元类的成员函数访问类中的成员。
class Point;
class Distance{
public:
    double distance(Point &p1,Point &p2);
};

class Point{
private:
    double x;
    double y;
public:
    Point(double a, double b) :x(a), y(b)
    {}
    friend class Distance;
};

double Distance::distance(Point &p1, Point &p2)
{
    double ret = sqrt((p1.x - p2.x)*(p1.x - p2.x) + (p1.y - p2.y)*(p1.y - p2.y));
    return ret;
}

int main()
{
    double x1, x2, y1, y2;
    cout << "x1="; cin >> x1;
    cout << "y1="; cin >> y1;
    cout << "x2="; cin >> x2;
    cout << "y2="; cin >> y2;
    Point p1(x1,y1), p2(x2,y2);
    Distance d;
    cout << "distance=" << d.distance(p1,p2) << endl;
    return 0;
}

运行结果: point.png

总结:
友元类是指一个类可以作为另一个类的友元。
将友元类定义为公有成员,可以用友元类的成员函数访问原类和友元类中的成员。

友元类中所有的成员函数为原类的友元成员函数,形参原类对象的引用。
调用友元成员函数,实参是原类的对象。

相关文章

  • 2017-05-28

    实验一 实验二 实验三 实验四 实验五

  • 实验三

    编写程序,定义一个平面点“Point”类及计算两点之间距离“Distance”类,将“Distance”类定义为“...

  • 实验三

    教学管理系统 Version0.2 修改历史 日期版本描述 6.4.20180.1创建 类图文档 [if !sup...

  • 实验三

    实验三 Linux基本操作实例再现 实验目的 1.进一步了解Linux操作系统,掌握基本的Linux操作。 2...

  • 实验三

    西 安 邮 电 大 学 (计算机学院) 操作系统课内实验报告 实验名称:线程实验 专业名称:计算机科学与技术 班 ...

  • 实验(三)

    灯悄悄的暗了,(一下称女孩为b)b突然感觉难受极了,想到孤身一人来到这个城市,寄人篱下,即使满怀希望的热爱生活的...

  • 实验三

  • ta是如何把天聊死的?

    一、化学实验考试结束后,宿舍。 A : 咦?你考完啦?你考了哪个实验? B : 第三个实验 A : 第三个实验是什...

  • zabbix高可用解决方案

    一、实验环境 二、本次实验一共准备了三台机器 三、实验介绍 四、配置zabbix-server 五、在agent上...

  • 武凯欣0136 实验2

    一、实验目的 独立按键程序移植小板 二、实验器材 keil软件、普中科技烧录软件、小板实验板 三、实验原理 ...

网友评论

    本文标题:实验三

    本文链接:https://www.haomeiwen.com/subject/fioijftx.html