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;
}
二,运行结果
* 文件名称: 友元函数应用
* 作 者:孙红亮
* 完成日期: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;
}
二,运行结果
相关文章推荐
- C++第3次作业
- Effective C++ 笔记1
- C++上机作业
- c++实验三-个人所得税计算器
- C语言(undefined behavior)未定义-序
- C++ 代码优化
- [C\C++]读入优化【技巧】
- C#调用C++接口返回字符串的做法
- C#调用C++接口返回字符串的做法
- C++ Primer Plus编程练习 7.13-1
- C++ Primer Plus编程练习 7.13-3
- 猜数字 1008
- 各类排序算法的c++实现
- 成员函数、友元函数和一般函数的区别(两点间距离)
- 成员函数、友元函数和一般函数的区别(两点间距离)
- 成员函数、友元函数和一般函数的区别(两点间距离)
- 成员函数、友元函数和一般函数的区别(两点间距离)
- 成员函数、友元函数和一般函数的区别(两点间距离)
- C语言中的const(四)
- c语言定义max赋值和函数求平均分的问题