您的位置:首页 > 编程语言 > C语言/C++

c++第三次作业

2016-04-12 19:44 309 查看
/* 
* 文件名称: 友元函数应用
* 作    者:孙红亮  
* 完成日期:2015      年   4  月   12 日 
* 版 本 号:v1.0 
* 对任务及求解方法的描述部分:略
* 输入描述:  得到图中的结果
* 问题描述:熟悉程序的编辑,运行过程 。 
* 程序输出:略  
* 问题分析: 无
* 算法设计:  略
*/  

一,问题及代码

定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)

#include <iostream>
#include <math.h>
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 CPoint::distance1(CPoint &p)
{
double x1,y1,d;
x1=p.x-x;
y1=p.y-y;
d=sqrt(x1*x1+y1*y1);
return d;
}
double distance2(CPoint &p1,CPoint &p2)
{
double x1,y1,d;
x1=(p1.x-p2.x);
y1=(p1.y-p2.y);
d=sqrt(x1*x1+y1*y1);
return d;
}
double distance3(CPoint&p1,CPoint&p2)
{
double x1,y1,d;
x1=p1.getx()-p2.getx();
y1=p1.gety()-p2.gety();
d=sqrt(x1*x1+y1*y1);
return d;
}
int main()
{
CPoint p1(4,3),p2(7,1);
cout<<p2.distance1(p1)<<endl; //成员函数
cout<<distance2(p1,p2)<<endl; //友员函数
cout<<distance3(p1,p2)<<endl; //一般函数
return 0;
}

二,运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: