/*
*Copyright (c)2013,烟台大学计算机学院
*All rights reserved.
*文件名称:成员函数,友元函数以及一般函数的区别
*作者:孙玲倩
*完成日期:2014年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 &a,Cpoint &b);
void input ()
{
cin >>x>>y;
}
void show ()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}
double getx()
{
return x;
}
double gety()
{
return y;
}
};
double Cpoint ::distance1(Cpoint &a)
{
return sqrt((a.x-x)*(a.x-x)+(a.y-y)*(a.y-y));
}
double distance2(Cpoint &a,Cpoint &b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
double distance3 (Cpoint &a,Cpoint &b)
{
return sqrt ((a.getx()-b.getx())*(a.getx()-b.getx())+(a.gety()-b.gety())*(a.gety()-b.gety()));
}
int main ()
{
Cpoint p1(2,3),p2;
cout <<"第一个点的坐标为:"<<endl;
p1.show ();
cout<<"请输入第二个点的坐标:"<<endl;
p2.input();
cout <<"1.两点间的距离为:"<<p1.distance1(p2)<<endl;
cout <<"2.两点间的距离为:"<<distance2 (p1,p2)<<endl;
cout <<"3.两点间的距离为:"<<distance3(p1,p2)<<endl;
return 0;
}
第七周项目三成员函数,友元函数以及一般函数的区别
最新推荐文章于 2023-11-07 22:58:53 发布