2-6-4 成员函数、友元函数和一般函数有区别
2015-04-15 09:09
127 查看
问题及代码:
运行结果:
学习小结:
代码没什么问题,调试了一段时间。
因为我考虑往这个程序中加入const,前两个distance加的const没什么问题。
第三个利用成员函数取值我用了常引用运行错误,去掉之后就正确了,难道常引用不用调用函数么??
发现了一个问题,回去看看视频
#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(const CPoint &n)const; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) friend double Distance2(const CPoint &,const CPoint &); double get_x(); double get_y(); }; double CPoint::Distance1(const CPoint &n) const { return sqrt((n.x-x)*(n.x-x)+(n.y-y)*(n.y-y)); } double Distance2(const CPoint &c1,const CPoint &c2) { return sqrt((c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y)); } double Distance3(CPoint &c1,CPoint &c2) { return sqrt((c1.get_x()-c2.get_x())*(c1.get_x()-c2.get_x())+(c1.get_y()-c2.get_y())*(c1.get_y()-c2.get_y())); } double CPoint::get_x() { return x; } double CPoint::get_y() { return y; } int main() { CPoint c1(1,1); CPoint c2(1,2); cout<<c1.Distance1(c2)<<endl; cout<<Distance2(c1,c2)<<endl; cout<<Distance3(c1,c2)<<endl; return 0; }
运行结果:
学习小结:
代码没什么问题,调试了一段时间。
因为我考虑往这个程序中加入const,前两个distance加的const没什么问题。
第三个利用成员函数取值我用了常引用运行错误,去掉之后就正确了,难道常引用不用调用函数么??
发现了一个问题,回去看看视频
相关文章推荐
- 七周 项目3 成员函数,友元函数,和一般函数的区别
- 第七周项目1-成员函数、友元函数和一般函数的区别
- 第六周【项目4-成员函数、友元函数和一般函数有区别】
- 2015年第六周项目四:成员函数、友元函数和一般函数有区别
- 第五周项目 4 成员函数、友元函数和一般函数有区别
- 项目2-成员函数、友元函数和一般函数之区别
- 第七周项目1-成员函数,友元函数,一般函数有区别
- 项目21--成员函数、友元函数和一般函数有区别
- 第7周项目1-成员函数、友元函数和一般函数有区别(3)
- 第七周项目三成员函数,友元函数以及一般函数的区别
- 第六周 项目四:成员函数、友元函数和一般函数有区别
- 第七周上机实践项目 项目1-成员函数,友元函数,和一般函数的区别(2)
- 第六周项目四成员函数,友元函数和一般函数有区别
- 第七周上机任务项目2-成员函数、友元函数和一般函数的区别
- 第六周项目四 成员函数、友元函数和一般函数有区别
- 第六周项目26-成员函数,友元函数与一般函数的区别
- 成员函数、友元函数和一般函数有区别
- 飛飛(二十四)成员函数,友元函数,和一般函数的区别
- 第六周项目四 成员函数、友元函数和一般函数区别
- 第六周 项目四--成员函数、友元函数和一般函数有区别 友元函数