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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ftp命令用法_FTP常用命令的使用方法

    ftp命令用法_FTP常用命令的使用方法1.登录:ftp192.168.xx.xx回车后输入用户名和密码或者直接输入ftp回车再输入open192.168.XX.XX2.常用命令:ls和dir显示文件列表cd目录和cd…切换ftp服务器路径lcd切换本地目录put和get上传、下载文件send上

    2025年12月2日
    3
  • ZOJ 3876 May Day Holiday[通俗易懂]

    ZOJ 3876 May Day Holiday

    2022年3月5日
    38
  • finalize方法_final与finalize区别

    finalize方法_final与finalize区别当对象没有引用指向时,虚拟机会按照一定的垃圾回收机制算法来调用finalize方法将该对象回收,并不是只要没有引用对象就会被回收。因此,可以调用System.gc()方法来主动调用垃圾回收机制,但也并不能保证一定能成功。在调用时,程序并不会阻塞在此处,而是会继续向下执行。默认的object类中的finalize方法是不作其余处理的。可以重写finalize方法来实现自己想要的资源释放操作,比如数据库连接等。…

    2026年1月25日
    5
  • linux一些常用命令_运行命令

    linux一些常用命令_运行命令Linux常用命令大全第一章Linux基础命令【1】linux-》ls【2】linux-》alias【3】linux-》cd【4】linux-》clear【5】linux-》date【6】linux-》dpkg【7】linux-》echo【8】linux-》man手册【9】linux-》pwd【10】linux-》sort【11】linux-》uniq【12】linux-》which【13】linux-》管道|第二章Linux文件管理命令【14】linux-》cat

    2025年12月5日
    3
  • ostaskcreate函数作用_认识上中下

    ostaskcreate函数作用_认识上中下OSTaskCreate()是学习ucos-Ⅱ操作系统的第一个函数,费了九牛二虎之力,现在感觉差不多可以过了。#ifOS_TASK_CREATE_EN>0INT8UOSTaskCreate(void(*task)(void*p_arg),void*p_arg,OS_STK*ptos,INT8Uprio)/*1*/{ OS_STK…

    2025年9月17日
    5
  • jenkins 邮件_邮件发送服务

    jenkins 邮件_邮件发送服务前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

    2022年7月29日
    9

发表回复

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

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