/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者:马广明 * 完成日期:2014 年 4 月 8 日 * 问题介绍: 友元求距离 * 版 本 号: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){} friend void display0(CPoint &c1,CPoint &c2); void display(CPoint); double getx() { return x; }; double gety() { return y; }; }; void display0(CPoint &c1,CPoint &c2) { double d; d=sqrt((c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y)); cout<<d<<endl; } void CPoint::display(CPoint p) { double d; d=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); cout<<d<<endl; } void display1(CPoint &c1,CPoint &c2) { double d; d=sqrt((c1.getx()-c2.getx())*(c1.getx()-c2.getx())+(c1.gety()-c2.gety())*(c1.gety()-c2.gety())); cout<<d<<endl; } int main() { CPoint c1(4,5); CPoint c2(5,5); c1.display(c2); display0(c1,c2); display1(c1,c2); return 0; }
原文:http://blog.csdn.net/u012369134/article/details/23195863