有什么区别
2014-04-15 09:24
741 查看
/*01 02.* 程序的版权和版本声明部分: 03.* Copyright (c) 2011, 烟台大学计算机学院 04.* All rights reserved. 05.* 文件名称:test.cpp 06.* 作 者:王雅萍 07.* 完成日期:2014年 4 月 15 日 08.* 版 本 号:v1.0 09.* 对任务及求解方法的描述部分: 10.* 输入描述:无 11.* 问题描述: 12.* 程序输出: 13.* 问题分析:略 14.* 算法设计:略 */ #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; }
相关文章推荐
- 第八周项目一
- extjs frame:true有什么用
- Android gradle 0.9 ,编译.so 文件需要注意
- android 资源ID生成规则
- 田传钊:旅游行业成功案例
- mysql使用大全
- IOS7 UIScrollView & UINavigationController
- Struts2注解学习1
- Java实现身份证号码的验证,JAVA后台验证身份证号码
- 第八周 项目2 TIME类中的运算符重载
- 第七周项目五
- 各种类型的Writable(Text、ByteWritable、NullWritable、ObjectWritable、GenericWritable、ArrayWritable、MapWritable、SortedMapWritable)转
- [转]软件测试- 3 - Mock 和Stub的区别
- UIButton使用方法汇总
- 长尾关键词的挖掘与分析
- SSH框架
- C++ const用法 尽可能使用const
- 【转载】关于物化视图
- Warning File `.depend' has modification time 1.6 s in the future
- Linux base shell重定向详解