使用友元函数计算两点之间的距离

#include <iostream>
#include <cmath>

using namespace std;

class CPoint//点类
{
private:
    double x;//横坐标
    double y;//纵坐标  

public:
    //使用初始化表初始化数据成员
    CPoint(double xx=0,double yy=0):x(xx),y(yy){}

    //定义友元函数用于计算两点之间的距离
    friend double Distance(CPoint &p1, CPoint &p2);
};

//友元函数用于计算两点之间的距离
double Distance(CPoint &p1, CPoint &p2)
{
    double d = sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));

    return d;
}

void main()
{
    CPoint p1(0,0), p2(3,4);

    cout<<'('<<0<<','<<0<<')'<<"与"<<'('<<3<<','<<4<<')'<<"之间的距离是"<<Distance(p1,p2)<<endl;

    system("pause");
}

执行结果

使用友元函数计算两点之间的距离

时间: 2024-10-06 04:28:19

使用友元函数计算两点之间的距离的相关文章

利用结构类型的相关知识计算两点之间的距离

#include<stdio.h>#include<stdlib.h>#include<math.h> struct point{ /*点的结构类型名*/ float x; /*横坐标*/ float y; /*纵坐标*/ }; struct point readPoint(); /*函数原型声明*/float distance(struct point p1,struct point p2);/*主函数*/ int main(void){ struct point a

2D和3D空间中计算两点之间的距离

自己在做游戏的忘记了Unity帮我们提供计算两点之间的距离,在百度搜索了下. 原来有一个公式自己就写了一个方法O(∩_∩)O~,到僵尸到达某一个点之后就向另一个奔跑过去 /// <summary> /// 3维中如何计算两点之间的距离 /// </summary> /// <param name="p1"></param> /// <param name="p2"></param> /// &l

openlayer3计算两点之间的距离

openlayer3计算两点之间的距离 对应的openlayers的版本为3.7. 主要用的接口是ol.Sphere.haversineDistance([x1,y1],[x2,y2]): 4326坐标系中计算两点距离的方式为: var wgs84Sphere = new ol.Sphere(6378137); wgs84Sphere.haversineDistance(C1,C2); 示例为: var wgs84Sphere = new ol.Sphere(6378137); wgs84Sph

sql server2008根据经纬度计算两点之间的距离

--通过经纬度计算两点之间的距离 create FUNCTION [dbo].[fnGetDistanceNew] --LatBegin 开始经度 --LngBegin 开始维度 --29.490295,106.486654,29.615467, 106.581515 (@LatBegin1 varchar(128), @LngBegin1 varchar(128),@location varchar(128)) Returns real AS BEGIN --转换location字段,防止字段

JAVA实现求一点到另两点连线的距离,计算两点之间的距离

直接上代码 /** *计算两点之间距离 */ public static double getDistance(Point start,Point end){ double lat1=start.getX().doubleValue(); double lat2=end.getX().doubleValue(); double lon1=start.getY().doubleValue(); double lon2=end.getY().doubleValue(); return Math.sq

计算两点之间的距离,两点之间的斜率(角度)--秀清

// // ViewController.m // 勾股定理 // // Created by 张秀清 on 15/6/8. // Copyright (c) 2015年 张秀清. All rights reserved. // #import "ViewController.h" //角度转弧度 #define degreesToradian(x) (M_PI*x/180.0) //弧度转角度 #define radiansToDegrees(x) (180.0*x/M_PI) @i

杭电2001 计算两点之间的距离

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2001 注意输入时候的空格就可以了 #include<stdio.h> #include<math.h> int main() { double x1,x2,y1,y2; while(scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2)!=EOF) { getchar(); printf("%.2f

C#面向对象思想计算两点之间距离

题目为计算两点之间距离. 面向过程的思维方式,两点的横坐标之差,纵坐标之差,平方求和,再开跟,得到两点之间距离. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Classes_2_point_distance { class Program { static void Main(string[

计算两点间的距离

计算两点间的距离 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 208295    Accepted Submission(s): 72641 Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离. Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y