第六周 项目四-成员函数、友元函数和一般函数有区别之一般函数
2015-04-14 19:50
543 查看
/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:distance.cpp *作者:刘天恩 *完成时间:2015年4月14号 *版本号: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; } }; double distance(CPoint &p1,CPoint &p2) { double X=p1.getX()-p2.getX(); double Y=p1.getY()-p2.getY(); double s=sqrt(X*X+Y*Y); return s; } int main() { CPoint C1(2,5); CPoint C2(3,3); cout<<::distance(C1,C2); //加::运算符,目的是只调用自己定义的类中的distance函数,如果不加,会与系统库中的distance函数矛盾,出现编译错误 return 0; }
运算结果:
不加::运算符,出现的编译错误:
也可以把自己定义的distance改名字:
#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){} friend double distances(CPoint &p1,CPoint &p2); }; double distances(CPoint &p1,CPoint &p2) { double X=p1.x-p2.x; double Y=p1.y-p2.y; double s=sqrt(X*X+Y*Y); return s; } int main() { CPoint C1(2,5); CPoint C2(3,3); cout<<distances(C1,C2); return 0; }
运行结果:
学习心得:
解决不来的问题寻求老师帮助是很好的习惯,通过这个错误,我又增加了一个知识点。
相关文章推荐
- 第六周 项目四-成员函数、友元函数和一般函数有区别 一般函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---一般函数
- 第六周项目四--成员函数、友元函数和一般函数的区别(求两点的距离)
- 第六周【项目4-成员函数、友元函数和一般函数有区别】
- 第六周 项目四 成员函数、友元函数和一般函数有区别(3)一般函数
- 第六周 【项目4-成员函数、友元函数和一般函数有区别】
- 第六周 项目四 成员函数、友元函数和一般函数有区别(1)成员函数
- 第六周项目4-成员函数、友元函数和一般函数有区别
- 第6周项目4-成员函数、友元函数和一般函数有区别 (一般函数)
- 第六周 项目4 成员函数、友元函数和一般函数有区别(1)
- 第六周 项目四-成员函数、友元函数和一般函数有区别 成员函数
- 第六周项目4-成员函数、友元函数和一般函数有区别
- 第六周——项目四成员函数,友元函数,一般函数的区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别之成员函数
- 第六周项目:成员函数、友元函数和一般函数有区别(1)
- 第六周项目四-成员函数、友元函数和一般函数的区别
- 第六周项目四:成员函数、友元函数和一般函数有区别(阅读程序)
- 第六周项目四:成员函数、友元函数和一般函数有区别(实践项目)
- 第六周 项目4-成员函数、友元函数和一般函数的区别---成员函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---友元函数