第6周项目4成员函数、友元函数、和一般函数的区别
2015-04-17 20:15
281 查看
/*。 *Copyright(c)2014,烟台大学计算机学院 *All right reserved, *文件名:test.cpp *作者:毕玉堂 *完成日期:2015年4月17日 *版本号:v1.0 * 问题描述: *输入描述: *程序输出: */ #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 set_point(CPoint p); friend double set_point1(CPoint &p,CPoint &a); double getx() { return x; } double gety() { return y; } }; double CPoint::set_point(CPoint p)//成员函数 { return sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); } double set_point1(CPoint &p,CPoint &a)//友元函数 { return sqrt((p.x-a.x)*(p.x-a.x)+(p.y-a.y)*(p.y-a.y)); } double set_point2(CPoint &a,CPoint &p)//一般函数 { return sqrt((a.getx()-p.getx())*(a.getx()-p.getx())+(a.gety()-p.gety())*(a.gety()-p.gety())); } int main() { CPoint c1(1,1); CPoint c2(1,2); cout<<"c1,c2之间的距离为:"; cout<<c2.set_point(c1)<<endl; cout<<"c1,c2之间的距离为:"; //成员函数这样调用:对象名.函数名() cout<<set_point1(c1,c2)<<endl; cout<<"c1,c2之间的距离为:"; //友员函数的调用和一般函数无异(但实现中可以不同) cout<<set_point2(c1,c2)<<endl;//一般函数的调用 return 0; }
运行结果:
相关文章推荐
- 第6周项目4-成员函数、友元函数和一般函数有区别 (友元函数)
- 第6周项目3-成员函数、友元函数和一般函数的区别(成员函数)
- 第6周项目4-成员函数、友元函数和一般函数有区别
- 第6周项目4-成员函数、友元函数和一般函数有区别 (一般函数)
- 第6周项目--成员函数、友元函数和一般函数有区别
- 第6周项目4-成员函数,友元函数,一般函数关于时间运用的区别
- 2015-第6周项目4-成员函数、友元函数和一般函数有区别
- 第6周项目4成员函数,友元函数和一般函数的区别
- 第6周项目4-成员函数、友元函数和一般函数有区别
- 第七周上机实践项目-项目一-成员函数,友元函数和一般函数的区别
- 第七周 项目1-成员函数、友元函数和一般函数有区别(1)一般
- 第六周 项目4-成员函数、友元函数和一般函数的区别---成员函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---友元函数
- 第6周项目4——成员函数、友元函数和一般函数有区别
- 第六周项目26-成员函数,友元函数与一般函数的区别
- 第七周项目一 (成员函数,友元函数和一般函数的区别)
- 第七周项目1-成员函数,友元函数,一般函数有区别
- 第六周 【项目4-成员函数、友元函数和一般函数有区别】
- 第七周项目一-成员函数、友元函数和一般函数有区别(1)
- 第六周项目3-成员函数,友元函数和一般函数有区别