2015年大一下第5周项目4-成员函数、友元函数和一般函数有区别
2015-04-10 19:11
281 查看
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Annpion.cpp *作者:王耀鹏 *完成日期:2015年4月10日 *版本号: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){} void distance1(CPoint &a); friend void distance2(CPoint &a,CPoint &b); int getX(){return x;} int getY(){return y;} }; void CPoint::distance1(CPoint &a) { double d; d=sqrt((x-a.x)*(x-a.x)+(y-a.y)*(y-a.y)); cout<<"("<<x<<","<<y<<") 与 ("<<a.x<<","<<a.y<<")"<<"之间的距离是:"<<d<<endl; } void distance2(CPoint &a,CPoint &b) { double d; d=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); cout<<"("<<a.x<<","<<a.y<<") 与 ("<<b.x<<","<<b.y<<")"<<"之间的距离是:"<<d<<endl; } void distance3(CPoint &a,CPoint &b) { double d; d=sqrt((a.getX()-b.getX())*(a.getX()-b.getX())+(a.getY()-b.getY())*(a.getY()-b.getY())); cout<<"("<<a.getX()<<","<<a.getY()<<") 与 ("<<b.getX()<<","<<b.getY()<<")"<<"之间的距离是:"<<d<<endl; } int main() { CPoint a(1,1),b(2,2); a.distance1(b); distance2(a,b); distance3(a,b); return 0; }
运行结果:
相关文章推荐
- 2015年第六周项目四:成员函数、友元函数和一般函数有区别
- 第5周项目4-成员函数、友元函数和一般函数的区别
- 第5周-项目4-成员函数-求点类中距离-区别成员函数、友元函数和一般函数
- 第5周-项目4-友元函数-求点类中距离-区别成员函数、友元函数和一般函数
- C++第7周(春)项目3 成员函数、友元函数和一般函数有区别
- 第07周:项目三:成员函数、友元函数和一般函数的区别
- 第六周项目四 成员函数、友元函数和一般函数区别
- 项目2-成员函数、友元函数和一般函数之区别
- 项目二-成员函数、友元函数和一般函数之区别
- 2013级C++第7周(春)项目——深复制、友元、模板 【项目3-成员函数、友元函数和一般函数有区别】
- 第七周上机任务项目2-成员函数、友元函数和一般函数的区别
- 项目二(成员函数,友元函数和一般函数之区别)
- 第六周项目4.1 成员函数 友元函数和一般函数有区别——阅读程序,体会注释中的说明
- 第七周 项目二:成员函数、友元函数、一般函数之区别(实现三个版本的求两点间距离)
- 第7周,项目2.成员函数,友元函数.一般函数之间的区别,点类
- 第七周项目三成员函数,友元函数以及一般函数的区别
- C++第7周(春)项目3 成员函数、友元函数和一般函数有区别
- 第六周项目四:成员函数、友元函数和一般函数有区别(实践项目)
- 第七周 项目二:成员函数、友元函数、一般函数之区别(初体验)
- 【项目2-成员函数、友元函数和一般函数之区别 点类】