* /
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者: 孙培培
* 完成日期:2012 年 12月15 日
* 版 本 号:v1.0
* 输入描述: 输入一串含有多余空格的数组
* 问题描述:除去数组中多余的空格
* 程序输出:略
* 问题分析:
#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){} //构造函数并初始化
double distance1(cpoint &); //参数用const CPoint &更佳 引用成员函数
friend double distance2(cpoint &, cpoint &) ; //定义友元函数 引用友元函数
double getX(){return x;} //定义函数返回X值
double getY(){return y;} //定义函数返回Y值
};
double distance3(cpoint &, cpoint &); //引用一般函数
double cpoint::distance1(cpoint &p) //引用成员函数 distance引用p的值
{
double dx,dy;
dx=x-p.x;
dy=y-p.y;
return sqrt(dx*dx+dy*dy);
}
double distance2(cpoint &p1, cpoint &p2) //引用友元函数
{
double dx,dy;
dx=p1.x-p2.x;
dy=p1.y-p2.y;
return sqrt(dx*dx+dy*dy);
}
double distance3(cpoint &p1, cpoint &p2)
{
double dx,dy;
dx=p1.getX()-p2.getX();
dy=p1.getY()-p2.getY();
return sqrt(dx*dx+dy*dy);
}
int main()
{
cpoint p1(10,5),p2(3,9);
cout<<"引用成员函数计算的两点距离:"<<p1.distance1(p2)<<endl;
cout<<"引用成员函数计算的两点距离:"<<distance2(p1,p2)<<endl;
cout<<"引用成员函数计算的两点距离:"<<distance3(p1,p2)<<endl;
system("pause");
return 0;
}