题目描述

类Distance定义为类Point的友元类来实现计算两点之间距离的功能。

Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义。

主程序输入两个Point点的坐标,计算两个点之间的距离。

类Distance的声明如下:
class Distance
{ public:
float Dis(Point & p,Point & q);
};

程序主函数如下:
int main()
{
float x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
Point p(x1,y1), q(x2,y2);
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
Distance d;
cout<<d.Dis(p,q)<<endl;
return 0;
}

要求:将整个程序补充完整,即添加Point类,并完成Distance类成员函数的类外定义。

注意:提交时不用提交主程序,其它都要提交。

输入

两个点的坐标(横坐标和纵坐标)

输出

两个点的距离(保留了两位小数)

样例输入

1.0 1.0 2.0 2.0

样例输出

1.41
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
class Point;
class Distance
{
public:float Dis(Point &p,Point &q);
};
class Point
{
public:friend class Distance;Point(float x1,float y1):x(x1),y(y1){}
private:float x,y;
};
float Distance::Dis(Point &p,Point &q)
{return sqrt((q.x-p.x)*(q.x-p.x)+(q.y-p.y)*(q.y-p.y));
}
int main()
{float x1,y1,x2,y2;cin>>x1>>y1>>x2>>y2;Point  p(x1,y1), q(x2,y2);cout<<setiosflags(ios::fixed);cout<<setprecision(2);Distance  d;cout<<d.Dis(p,q)<<endl;return  0;
}

[YTU]_2619 (B 友元类-计算两点间距离)相关推荐

  1. 定义Point类,采用友元类的方式计算两个点之间的水平和垂直距离

    C++作业记录 问题描述: 设计一个点类Point,包含点的坐标x,y两个数据成员,采用友元类的方式分别计算两点间的水平距离和垂直距离. 程序: #include <iostream> # ...

  2. 根据两点间经纬度坐标(double值)计算两点间距离,LBS操作相关工具类

    import java.text.DecimalFormat; /*** LBS操作相关工具类**/ public final class LBSKit {private static final d ...

  3. 采用成员函数和友元函数计算给定两个坐标点之间的距离

    设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标点之间的距离 ...

  4. C++学习笔记(10)运算符重载,友元函数,友元类

    c++允许我们为运算符定义专门的函数,这被称为运算符重载: 运算符可以简化字符串的操作,'+',以及使用关系运算符比较字符串,[ ]运算符访问向量中的元素: 例如: #include <iost ...

  5. 计算两点间距离(成员函数)

    当前编程题: 实验2-类和对象的进一步讨论---计算两点间距离(成员函数) 4. [问题描述]在平面直角坐标系中,点类Point包括两个数据成员:x(横坐标),y(纵坐标):若干成员函数,要求使用成员 ...

  6. c语言的友元函数的用法,C++友元函数和友元类概念解析

    一.友元函数 友元函数是一种特殊的函数,它需要在类体内进行说明,可以访问类的私有成员和保护成员,但又不是类的成员函数.友元函数的说明如下: friend 数据类型函数名(参数) 其中,friend是说 ...

  7. C++ 笔记(30)— 友元函数与友元类

    我们知道类的私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行.这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦. ...

  8. C++ primer 第七章之 友元函数与友元类

    1.为什么需要友元函数?  类具有封装和信息隐藏的特性: 只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的 ; 非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公 ...

  9. 编写矩形类 计算矩形面积

    编写矩形类 计算矩形面积 public class juxing {int a;int b; juxing(int a,int b){System.out.println("矩形面积s=&q ...

最新文章

  1. leetcode381. Insert Delete GetRandom O(1) - Duplicates allowed
  2. 转发:Docker —— 从入门到实践
  3. 深度学习损失函数大全
  4. 【NLP】自然语言处理专栏上线,带你一步一步走进“人工智能技术皇冠上的明珠”。...
  5. 罗小黑用flash做的_董小姐说电影丨这次都听我的,去看《罗小黑战记》
  6. hive获取本周第几天
  7. Openlayer:学习笔记之View
  8. 用Lucene[1].net对数据库建立索引及搜索+
  9. python微信语音转发方法_最简单的微信语音转发方法,保证看一遍就会
  10. L. Ray in the tube
  11. 优秀工程师应该具备哪些素质_工程师应具备的素养有哪些
  12. angular : 自定义组件双向绑定 [(ngModel)]
  13. Activity工作流(2)-入门安装运行第一个例子
  14. kubectl源码分析之cordon and uncordon
  15. 油菜花系统服务器能删除内容吗,油菜花能吃吗,油菜花有什么用
  16. 家庭媒体中心解决方案(四、 群晖系列nas基本功能使用指南篇2)
  17. 2021 秋招招银网络科技测开一面
  18. PW5410A原厂低噪声DC-DC升压开关电容倍压器
  19. Python爬取电商平台充气娃娃用户评价,看看用户体验是什么样的!
  20. Latex的使用——目录、参考文献

热门文章

  1. 11月17日spring mvc入门培训
  2. Android预优化那些事
  3. Linux and the Device Tree
  4. MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率
  5. wince下的蓝牙串口通信
  6. Pat乙级 1058 选择题
  7. 在看完《Programming in Lua》之后
  8. 启动mysql的innodb monitor功能
  9. 数学图形(2.7)sphere sine wave
  10. jsp页面获取参数的方法(url解析、el表达式赋值、session取值)【原创】