第七周项目1——成员函数、友元函数和一般函数的区别
2016-04-13 17:30
387 查看
问题及代码:
运行结果:
![](http://img.blog.csdn.net/20160413173156777)
学习心得:在这个代码中运用了类的组合,本以为自己可以熟练运用了,可是写起来确实错误百出,最终靠百度才找出原因,可见就学过的知识掌握不牢固,应该在以后的实践中将这些学过的知识尽量的用上,这样才可以熟能生巧,加强理解记忆。
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作 者:赵志君 * 完成日期:2016年4月13日 * 版 本 号: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 getx(){return x;} double gety(){return y;} }; class juli { private: CPoint a,b; double len; double x,y; public: juli(CPoint aa,CPoint bb):a(aa),b(bb){} double getlen(){return len;} void handle1(); friend void handle2(juli &); }; void juli::handle1() { x=a.getx()-b.getx(); y=a.gety()-b.gety(); len=sqrt(x*x+y*y); cout<<len<<endl; } void handle2(juli &l) //友元函数可以直接访问私有成员 { cout<<l.len<<endl; } void handle3(juli &l) //一般函数调用类是只能调用公共接口 { cout<<l.getlen()<<endl; } int main() { CPoint a(3,4),b(0,0); juli l(a,b); l.handle1(); handle2(l); handle3(l); return 0; }
运行结果:
学习心得:在这个代码中运用了类的组合,本以为自己可以熟练运用了,可是写起来确实错误百出,最终靠百度才找出原因,可见就学过的知识掌握不牢固,应该在以后的实践中将这些学过的知识尽量的用上,这样才可以熟能生巧,加强理解记忆。
相关文章推荐
- phpMyAdmin配置文件config.inc.php详解
- Servlet+Tomcat制作出第一个运行在Tomcat上的Java应用程序
- 漫谈程序员(十二)IT程序猿之猿体是革命的本钱
- 关于CocoaPods的安装总结
- 考研中的算法时间复杂度求解
- 【bzoj4084】[Sdoi2015]bigyration hash
- QNX下根据进程名查找PID
- 原生js编写autoComplete插件
- 九针串口接线问题, 232, 485
- 漫谈程序员(十二)IT程序猿之猿体是革命的本钱
- iOS开发小记:关于环信Demo3.0的使用总结以及昵称和头像问题的研究与解决
- android5.1添加Email分享,bluetooth分享
- 日志库选择
- Does OS X not support epoll function?
- 字符和字符串
- springMVC 与 struts+hibernate+spring优缺点
- 【笔试/面试】—— 二叉树的最远距离
- JS中的eval 为什么加括号
- SpringMVC异常处理综述
- Kubernetes技术分析之网络