sdut 3-7 类的友元函数的应用

sdut 3-7 类的友元函数的应用

大家好,又见面了,我是全栈君。

3-7 类的友元函数的应用


Time Limit: 1000MS Memory limit: 65536K

题目描写叙述

通过本题目的练习能够掌握类的友元函数的定义和使用方法
要求设计一个点类Point,它具有两个double型的数据成员x,y。

为该类设计构造函数。

并为其加入一个友元函数用于计算并输出两点间的距离;再加入一个输出成员函数用于输出点的信息。

 
 
并编写主函数,实现下面的输入输出内容。

输入

4double型的数,中间用一个空格间隔。

输出

输出数据共3行。前两行用于显示要求距离的两个点的信息,第三行显示两点的距离。

演示样例输入

5 6 2 3

演示样例输出

The first point is the coordinate:X=5,Y=6
The second point is the coordinate:X=2,Y=3
The distance between the two points is:4.24264

提示


来源

 黄晶晶

演示样例程序

#include <iostream>
#include<cmath>

using namespace std;

class point
{
private:
    double x, y;

public:
    //声明display函数为point类的友元函数
    friend void display2(point &t, point &q);
    void display1()
    {
        cout << " point is the coordinate:X=" << x << ',' << "Y=" << y << endl;
    }

    point(double a, double b)
    {
        x = a;
        y = b;
    }
};

void display2(point &t, point &q)//定义友元函数
{
    //使用数学公式求出两点间的距离
    cout << "The distance between the two points is:
        " << sqrt((t.x - q.x) * (t.x - q.x) + (t.y - q.y) * (t.y - q.y)) << endl;
}

int main()
{
    double a, b, c, d;
    cin >> a >> b >> c >> d;
    point x(a,b);
    point y(c,d);
    cout << "The first";
    x.display1();
    cout << "The second";
    y.display1();
    display2(x, y);
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108267.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月5日 下午8:00
下一篇 2022年3月5日 下午9:00


相关推荐

  • oracle怎么使用触发器,Oracle触发器的使用[通俗易懂]

    oracle怎么使用触发器,Oracle触发器的使用[通俗易懂]Oracle触发器的使用触发器是指存放在数据库中,并被隐藏执行的存储过程。在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle8i之后,不仅支持DML操作,也允许基于系统事件(启动数据库,关闭数据库,登录)和DDL操作建立触发器。一、触发器简介触发器是指隐含执行的存储过程,它可以使用PL/SQL,java和C进行开发,当发生特…

    2022年7月11日
    19
  • SQL Server详细教程

    SQL Server详细教程一 初识 SQLServer1 数据文件与文件组 日志文件数据文件 SQLServer 数据库具有以下 3 种类型的文件 数据文件 用来存放数据 1 主数据文件 一个数据库必须有且只有一个主数据文件 其扩展名为 mdf 2 次数据文件 一个数据库可以没有也可以有多个次数据文件 其扩展名为 ndf 3 事务日志文件 ldf 日志文件为数据库的恢复提供日志信息 每个数据库至少

    2026年3月18日
    1
  • android 分区丢失,分区数据恢复

    android 分区丢失,分区数据恢复作者:SelenaKomez5月23,2018上更新总结:硬盘分区被删除或丢失?如何取回已删除或丢失的分区?数据恢复软件将帮助您恢复数据,即使在Windows或Mac计算机上删除或丢失分区。执行分区数据恢复不需要任何技术技能。硬盘分为一个或多个逻辑分区,以便更好地进行资源管理,并根据用户要求将数据分布在不同的位置。这些逻辑分区称为分区,并给出了某些独立硬盘协调工作的错觉。但是,计算机分…

    2022年8月11日
    31
  • WDM设备驱动程序开发平台

    WDM设备驱动程序开发平台编写硬件设备驱动程序一直是一种具有很强挑战性的复杂工作 即便是编写过具有相当难度 Win32 程序的开发人员 在编写设备驱动程序时也必须去应对种种不适 需要 洗脑 编写设备驱动程序很象在执行一项艰巨的任务 没有窗口 没有消息需要处理 很难对源代码进行调试设置 几乎所有支持库都无法调用 更糟的是 由于设备驱动程序属于操作系统的信任部分 于是很容易伤害系统 对此开发人员却往往缺乏一种保护手段去防止进程和

    2026年3月26日
    2
  • CLion linux激活码【中文破解版】

    (CLion linux激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

    2022年3月26日
    40
  • h5实现长按复制文本_复制css

    h5实现长按复制文本_复制css复制2333333<style> p{ -webkit-user-select:none; user-select:none; } p>i{ -webkit-user-select:text; user-select:text; } </style> <p>长按复制短码<i>23…

    2026年4月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号