c++求两点的距离利用友元_用c++定义两个坐标点,计算两点间距离;进而计算线段的面积...
//本程序有三个层次
//第一层(define_class.h):构造坐标点类,颜色和宽度的结构体,线段类
//第二层(function.h):对上一层声明的函数进行定义
//第三层(distance.cpp):用类定义对象并初始化对象,对结果进行测试
define_class.h
#if!defined(define_class_H)
#define define_class_h
#include
#include
using namespace std;
//定义坐标点类
class Point
{
private:
double X,Y; //横坐标、纵坐标作为私有变量
public:
Point(double=0,double=0); //构造函数
Point(Point &); //复制的构造函数
void Display() //显示坐标点
{
cout<
}
double Distance(Point &); //两点间距离的函数,参数是点类的引用,也可以用友元函数
int getX()
{
return X; //得到横坐标的值
}
int getY()
{
return Y; //得到纵坐标的值
}
};
struct Cow //color和width,结构体,结构体内的变量是public的
{
int Color;
int Width;
};
class Line //定义线段类
{
private:
Point a,b; //线段类的私有数据成员是点类的对象
Cow cw; //线段有颜色和宽度
public:
Line(Point &,Point &,Cow &); //线段的构造函数,由两个点、颜色和宽度构成
void Display();
Line(Line &); //复制的构造函数
double Distance(); //两点间的距离
double Area(); //线段的面积
};
#endif
function.h
#if!defined(function_H)
#define function_H
#include "define_class.h" //包含头函数
Point::Point(double a,double b) //定义构造函数,前面的头函数中仅仅声明了函数
{
X=a;
Y=b;
}
Point::Point(Point &a) //定义复制的构造函数
{
X=a.X;
Y=a.Y;
}
double Point::Distance(Point &a) //求两点间的距离
{
double dis;
dis=sqrt((X-a.X)*(X-a.X)+(Y-a.Y)*(Y-a.Y));
return dis;
}
Line::Line(Point &a1,Point &a2,Cow &a3):a(a1),b(a2),cw(a3) //给Line的私有变量初始化
{ //对象间的初始化,因此需要复制的构造函数
}
Line::Line(Line &s) //定义复制的构造函数
{
a=s.a;
b=s.b;
cw=s.cw;
}
void Line::Display() //显示线段
{
a.Display();
b.Display();
cout<
}
double Line::Distance()
{
double x,y;
x=a.getX()-b.getX();
y=a.getY()-b.getY();
return sqrt(x*x+y*y);
}
double Line::Area()
{
return cw.Width * Distance();
}
#endif
distance.cpp
#include
#include
#include "function.h"
using namespace std;
void main()
{
Point a;
Point b(8.9,9.8),c(34.5,67.8);
a=c;
a.Display();
b.Display();
cout<
Cow cw={3,5};
Line s(a,b,cw);
Line s1(s);
s1.Display();
cout<
cout<
}
标签:Point,double,线段,c++,计算,Line,cw,Display,构造函数
来源: https://www.cnblogs.com/duanqibo/p/11096455.html
c++求两点的距离利用友元_用c++定义两个坐标点,计算两点间距离;进而计算线段的面积...相关推荐
- 求两点之间距离 C++
求两点之间距离(20 分) 定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数. 定义一个函数Distance(), 用于求两点之间的距离. 输入格式: 输入有两 ...
- 7-1 求两点之间距离
定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数. 定义一个函数Distance(), 用于求两点之间的距离. 输入格式: 输入有两行: 第一行是第一个点的x坐 ...
- PTA 求两点之间距离 (20 分)
定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数. 定义一个函数Distance(), 用于求两点之间的距离. 输入格式: 输入有两行: 第一行是第一个点的x坐 ...
- c语言 求两点之间距离
输入平面中的两个点A.B的坐标,(x1,y1)和(x2,y2),要求分别输出两点的坐标,最后在屏幕中显示出两点的距离 1. 源代码如下 #include <stdio.h> #includ ...
- 已知两点经纬度,求两点直线距离-——python实现
计算原理参考链接:https://blog.csdn.net/xiejm2333/article/details/73297004 Python代码实现: # -*- coding: utf-8 -* ...
- python计算两点间距离_python 计算方位角实例(根据两点的坐标计算)
知道两点坐标,怎么计算两点方向的方位角? 答:首先计算坐标增量dx,dy(两个对应坐标分量相减,终点的减始点的). 若dx,dy中有一个为零时,根据另一个的正负决定方位角(0,90,180,270这四 ...
- 3维两点间的距离 js_高考必刷题4:球面上任意两点间距离的计算
678地理工作室,每天,6:13 678地理工作室诚邀一起合作的小伙伴 文章首发于微信公众号"老丁侃地理",欢迎关注 本文为老丁原创,引用请注明来源 第一部分:经纬网部分,考纲和知 ...
- [YTU]_2619 (B 友元类-计算两点间距离)
题目描述 类Distance定义为类Point的友元类来实现计算两点之间距离的功能. Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义. 主程序输入两 ...
- JAVA利用数组求两点距离_利用java、js或mysql计算高德地图中两坐标之间的距离
利用java.js或mysql计算高德地图中两坐标之间的距离 2019-09-19 编程之家收集整理的这篇文章主要介绍了利用java.js或mysql计算高德地图中两坐标之间的距离,编程之家小编觉得挺 ...
最新文章
- 《CSS揭秘》笔记(一)
- IDEA中进行SpringBoot开发时提示:Error resolving template xxx, template might not exist or might not be acce
- C++ semi implicit euler半隐式向后欧拉法解算常微分方程(附完整源码)
- [系统安全] 二十四.逆向分析之OllyDbg调试INT3断点、反调试、硬件断点与内存断点
- 20159302 《网络攻击与防范》第四周学习总结
- 2014计算机二级vfp,2014计算机二级VF考前试题解析
- Python数据结构:顺序查找
- python stdout_python 之sys.stdout小记
- 51Nod 1109 01组成的N的倍数
- 三维扫描仪中投射模块/投影仪推荐
- 计算机删除内置用户,如何删除windows的内置账户,administrator
- 中国电信计算机类校园招聘笔试题目,中国电信集团2019校园招聘笔试真题(计算机技术类-A卷)(精选).doc...
- java中检测鼠标_java – 在屏幕上检测鼠标移动
- 微信跳一跳游戏外挂(mac电脑+android手机)
- Xcode (xip)官方原版下载 Xcode 所有历史版本(转载)
- 记录今天解决的一个poi的问题
- JS 如何调用高德地图
- 修改右键 新建菜单顺序
- 把Vue项目打包为桌面应用(nwjs)
- HTML简笔画画布气球,一束气球简笔画图片
热门文章
- 在ASP.NET MVC中使用Knockout实践07,自定义验证信息的位置与内容
- MySQL慢查询分析方法
- boost boost::asio::read socket.read_some 区别
- OpenCV——CvMatchShapes函数
- dubbo 负载均衡中策略决策
- android适配规则(一)
- 华为机试HJ84:统计大写字母个数
- 调用百度API实现人像动漫化(C++)
- python for循环 内存_Python for循环中的内存错误
- 计算机专业马来西亚,去马来西亚读计算机专业如何