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;
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Matlab矩阵操作[通俗易懂]

    Matlab矩阵操作[通俗易懂]第一部分:矩阵基本知识矩阵是进行数据处理和运算的基本元素。在MATLAB中a、通常意义上的数量(标量)可看成是”1*1″的矩阵;b、n维矢量可看成是”n*1″的矩阵;c、多项式可由它的系数矩阵完全确定。一、矩阵的创建在MATLAB中创建矩阵有以下规则:a、矩阵元素必须在”[]”内;b、矩阵的同行元素之间用空格(或”,”)隔开;c、矩阵的行与行之间用”;”(或回车符)隔开;d、矩阵的元素可以是数值、变量、表达式或函数;e、矩阵的尺寸不必预先定义。下面介绍四种矩阵的创建方法:

  • VWware15安装windows XP纯净版虚拟机「建议收藏」

    VWware15安装windows XP纯净版虚拟机「建议收藏」需要准备的工具:VMware15或其他版本winXP.iso(需要的留言)安装步骤:1.创建虚拟机选择“典型”选择“安装光盘映像文件”winXP.iso选择操作系统类型选择安装位置及虚拟机名称选择磁盘大小,最少30G选择处理器数量和内存,根据个人电脑情况而定,就是虚拟机运行速度的问题完成后启动虚拟机等待进入winPE系统选择打开“分区工具…

  • rsyslogd 重启_Linux系统rsyslogd服务及启动方法[通俗易懂]

    rsyslogd 重启_Linux系统rsyslogd服务及启动方法[通俗易懂]在CentOS6.x中,日志服务已经由rsyslogd取代了原先的rsyslogd。RedHat公司认为rsyslogd已经不能满足工作中的需求,rsyslogd相比rsyslogd具有一些新的特点:基于TCP网络协议传输日志信息。更安全的网络传输方式。有日志信息的即时分析框架。后台数据库。在配置文件中可以写简单的逻辑判断。与syslog配置文件相兼容。rsyslogd日志服务更加先进,功能更…

  • linux 解压 -zxvf 与-xvf解压方式的区别

    linux 解压 -zxvf 与-xvf解压方式的区别

  • Spring中bean的作用域与生命周期

    Spring中bean的作用域与生命周期在Spring中,那些组成应用程序的主体及由SpringIoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean的定义以及bean相互间的依赖关系将通过配置元数据来描述。  Spring中的bean默认都是单例的,这些单例Bean在多线程程序下如何保证线程安全呢?例如对于Web应用来

  • pycharm配置远程服务器_服务器asp环境配置

    pycharm配置远程服务器_服务器asp环境配置前言1、说明首先介绍下我本人情况,我在windows笔记本电脑上下载了Pycharm专业版,因为我本人只是用来跑代码,想把代码自动同步起来,因此特地通过pycharm来远程使用Linux上配置好的环境,加速代码运行。当然大家也可以使用Xshell等软件,使用命令行来操作。2、环境介绍目前使用的环境:Linux:20.04Pycharm:2019专业版Windows:64位Anaconda:Python3.7一、添加并设置部署1、点击Pycharm工作栏上方“Tools->

发表回复

您的电子邮箱地址不会被公开。

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