成员函数友元函数和一般函数区别
2014-04-15 15:03
253 查看
/* * 作 者: 丁露 * 完成日期:2014 年4月15日 * 版 本 号:v1.0 * 问题描述:成员函数、友元函数和一般函数有区别。 * 样例输入: * 样例输出: * 问题分析:利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数,并设计main()函数完成测试。 */ #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 get1() { return x; } double get2() { return y; } }; double Distance3(CPoint &,CPoint &); double CPoint::Distance1(CPoint &p) { double d; d=sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)); return d; } double Distance2(CPoint &m,CPoint &n) { double c; c=sqrt((m.x-n.x)*(m.x-n.x)+(m.y-n.y)*(m.y-n.y)); return c; } double Distance3(CPoint &q,CPoint &h) { double l; l=sqrt((q.get1()-h.get1())*(q.get1()-h.get1())+(q.get2()-h.get2())*(q.get2()-h.get2())); return l; } int main() { CPoint a(2,3),b(3,4); cout<<a.Distance1(b)<<endl; cout<<Distance2(a,b)<<endl; cout<<Distance3(a,b)<<endl; }
相关文章推荐
- android使用html开发软件界面
- Eclipse上GIT插件EGIT使用手册之四_配置.gitignore
- Vim常用命令收集
- MongoDB 介绍及Windows下安装
- 正则表达式积累
- Android 系统手机端抓包方法
- 去前导零
- SQL2008 sql browser 无法启动
- 在windows下运行Felzenszwalb的Deformable Part Model(DPM)源码voc-release3.1来训练自己的模型
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- 第六章 组织、注释、引用代码(二)
- KVM和QEMU的关系
- ruby on rails 手动添加测试文件
- Eclipse上GIT插件EGIT使用手册之三_新建GIT仓库
- SD相关的表
- faad解码aac
- 20140415收盘小结
- 求m*n矩阵中最大的子矩阵(元素和最大)
- HTTP协议漫谈
- JAVA设计模式(05):创建型-原型模式(Prototype)