/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:孙永
* 完成日期: 2013年4 月 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 &);
friend double distance2(Cpoint &,Cpoint &);
double getX(){return x;}
double getY(){return y;}
};
double distance3(Cpoint &,Cpoint &);
double Cpoint::distance1(Cpoint &p)
{
double dx=(x-p.x),dy=(y-p.y);
return sqrt(dx*dx+dy*dy);
}
double distance2(Cpoint &p1,Cpoint &p2)
{
double dx=(p1.x-p2.x),dy=(p1.y-p2.y);
return sqrt(dx*dx+dy*dy);
}
double distance3(Cpoint &p1,Cpoint &p2)
{
double dx=(p1.getX()-p2.getX()),dy=(p1.getY()-p2.getY());
return sqrt(dx*dx+dy*dy);
}
int main()
{
Cpoint p1(10,13),p2(-2,6);
cout<<"1.成员函数:"<<p1.distance1(p2)<<endl;
cout<<"2.友元函数:"<<distance2(p1,p2)<<endl;
cout<<"3.一般函数:"<<distance3(p1,p2)<<endl;
return 0;
}
运行结果