第七周项目一友元函数、成员函数和一般函数有区别2
2016-06-02 09:02
399 查看
/* *copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:text.cpp *作者:闫舒 *完成日期:2016年6月2日 *版本号:Code::Blocks 12.11 * *问题描述:成员函数、友元函数和一般函数的区别 *输入描述:无 *程序输出:无 */ #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 &); //参数用const 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(-5,6); cout<<"1. "<<p1.distance1(p2)<<endl; cout<<"2. "<<distance2(p1,p2)<<endl; cout<<"3. "<<distance3(p1,p2)<<endl; return 0; }
运行结果:
相关文章推荐
- NYOJ 1218 zkc学长的福利
- 上传工具
- CLR和.Net对象
- 别人整理的DP大全(转)
- 项目37-分数类中的运算符重载
- Android从零开始之工欲善其事必先利其器--Android Studio主题颜色配置
- 第十一周阅读程序3
- 面试题90:旋转数组
- Hibernate02(单项有连接表N-1)
- 第14周项目2:两个成员的类模板(1)
- 【代码笔记】iOS-竖状图
- 【代码笔记】iOS-竖状图
- 社交网络中常用数据集
- <LeetCode OJ> 319. Bulb Switcher
- 任务调度
- 第十三周项目3-形状类族的中的纯虚函数
- 08.LoT.UI 前后台通用框架分解系列之——多样的Tag选择器
- celery消息的编码和序列化(转)
- Java访问Hadoop分布式文件系统HDFS的配置说明
- JAVA基础应用——tomcat-redis-session-manager Redis共享Session