第六周——项目四成员函数,友元函数,一般函数的区别
2015-04-09 15:01
183 查看
问题及代码:
运行结果:
心得体会:
纠结的一点是还是在处理私有成员函数的时候有点问题,是关于this指针的运用上面的问题
/* .*Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:lily.cpp *作者:李莉 *完成日期:2014年4月9日 版本号: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 distance1(Cpoint &); friend double distance2(Cpoint &,Cpoint &); double getX() { return x; } double getY() { return y; } }; double Cpoint::distance1(Cpoint&p) { return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)); } double distance2(Cpoint&p1,Cpoint&p2) { return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)); } double distance3(Cpoint&p1,Cpoint&p2) { return sqrt((p1.getX()-p2.getX())*(p1.getX()-p2.getX())+(p1.getY()-p2.getY())*(p1.getY()-p2.getY())); } int main() { Cpoint p1(1,2),p2(3,4); cout<<"两点之间的距离为:"<<endl; cout<<"私有成员函数解决方案:"<<p1.distance1(p2)<<endl; cout<<"友元函数解决方案:"<<distance2(p1,p2)<<endl; cout<<"一般函数解决方案:"<<distance3(p1,p2)<<endl; return 0; }
运行结果:
心得体会:
纠结的一点是还是在处理私有成员函数的时候有点问题,是关于this指针的运用上面的问题
相关文章推荐
- 第六周 项目四-成员函数、友元函数和一般函数有区别 一般函数
- 第六周 项目四-成员函数、友元函数和一般函数有区别之一般函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---一般函数
- 第六周上机实践项目4-成员函数、友元函数和一般函数有区别
- 第六周项目4.2 成员函数 友元函数和一般函数有区别——点类
- 第六周 项目四-成员函数、友元函数和一般函数有区别之友元函数
- 第六周 项目四:成员函数、友元函数和一般函数有区别
- 第七周项目二----一般函数,友元函数,成员函数的区别
- 第5周-项目4-一般函数-求点类中距离-区别成员函数、友元函数和一般函数
- 第六周 【项目4-成员函数、友元函数和一般函数有区别】
- 第六周项目4 成员函数 友元函数与一般函数的区别
- 2015年第六周项目四:成员函数、友元函数和一般函数有区别
- 第六周项目四--成员函数、友元函数和一般函数的区别(求两点的距离)
- 第六周项目四:成员函数、友元函数和一般函数有区别(实践项目)
- 第六周 项目4-成员函数、友元函数和一般函数的区别---友元函数
- 第七周 项目3 成员函数、友元函数、一般函数的区别
- 第六周 项目四--成员函数、友元函数和一般函数有区别(1)
- 第六周 项目四-成员函数、友元函数和一般函数有区别
- 第六周 项目四--成员函数、友元函数和一般函数有区别(2)
- 第六周项目四成员函数,友元函数和一般函数有区别