第六周 项目四--成员函数、友元函数和一般函数有区别(2)
2015-04-14 13:38
323 查看
问题及代码:
运行结果:
知识点总结:三类函数的区分以及友元函数以及一般函数的应用。
学习心得:因为在友元函数中的y1的求解中写成了p2.y-p2.y;导致结果一直不对,通过单步调试查出错误。在于班主任的谈话中知道抄之有道的真正含义,对于技巧上的东西可以抄并能灵活运用,但对于算法上的知识点一定要自己找书总结记忆。
/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:吴胜男 *完成日期:2015年04月14日 *版本号:v1.0 * *问题描述:2)模仿上面的示例,完成求点类中距离的任务。你需要实现求距离函数的三种版本:分别利用成员函数、友元函数和一般函数 求两点间距离的函数,并设计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 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(2,3),p2(0,1); cout<<p2.distance1(p1)<<endl; //成员函数这样调用:对象名.函数名() cout<<distance2(p1,p2)<<endl; //友员函数的调用和一般函数无异(但实现中可以不同) cout<<distance3(p1,p2)<<endl; //一般函数的调用 return 0; }
运行结果:
知识点总结:三类函数的区分以及友元函数以及一般函数的应用。
学习心得:因为在友元函数中的y1的求解中写成了p2.y-p2.y;导致结果一直不对,通过单步调试查出错误。在于班主任的谈话中知道抄之有道的真正含义,对于技巧上的东西可以抄并能灵活运用,但对于算法上的知识点一定要自己找书总结记忆。
相关文章推荐
- 第六周 项目4 成员函数、友元函数和一般函数有区别(1)
- 第六周 项目四-成员函数、友元函数和一般函数有区别 成员函数
- 第六周项目4-成员函数、友元函数和一般函数有区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别之成员函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---成员函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---友元函数
- 第六周项目:成员函数、友元函数和一般函数有区别(1)
- 第六周项目四-成员函数、友元函数和一般函数的区别
- 第六周项目四:成员函数、友元函数和一般函数有区别(阅读程序)
- 第六周项目四:成员函数、友元函数和一般函数有区别(实践项目)
- 第六周 【项目4-成员函数、友元函数和一般函数有区别】
- 第六周项目:成员函数、友元函数和一般函数有区别(2)
- 第六周项目4成员函数、友元函数和一般函数有区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别之友元函数
- 第六周项目4.2 成员函数 友元函数和一般函数有区别——点类
- 第六周 项目四--成员函数、友元函数和一般函数有区别(1)
- 第六周项目4 成员函数 友元函数与一般函数的区别
- 第六周上机实践项目4-成员函数、友元函数和一般函数有区别
- 第六周项目4:成员函数,友元函数和一般函数有区别
- 第六周项目四成员函数,友元函数和一般函数有区别