第7周项目1-成员函数、友元函数和一般函数有区别(2)
2016-04-17 12:44
357 查看
<pre class="cpp" name="code">/* *Copyright(C) 2016,计算机与控制工程学院 *All rights reserved. *文件名:test.cpp *作者:张志新 *完成日期:2016年4月15日 *版本号:v1.0 * *问题描述:友元函数与成员函数。 */ #include <iostream> #include<cmath> using namespace std; class CPoint { private: double x; // 横坐标 double y; // 纵坐标 public: double distance2(CPoint &); friend double distance1(CPoint &,CPoint &); CPoint(double xx=0,double yy=0):x(xx),y(yy){} }; double distance1(CPoint &p1,CPoint &p2) { double dx=p1.x-p2.x,dy=p1.y-p2.y; cout<<sqrt(dx*dx+dy*dy)<<endl; return 0; } double CPoint::distance2(CPoint &p) { double dx=x-p.x,dy=y-p.y; cout<<sqrt(dx*dx+dy*dy)<<endl; } int main() { CPoint p1(1,1),p2(0,0); cout<<"友元:"; distance1(p1,p2); cout<<"成员函数:"; p1.distance2(p2); return 0; }
这个程序是要区别友元函数和成员函数,还运用了复制构造函数,复制构造函数也要声明。