* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: class time
* 作 者: 于昊
* 完成日期: 2012 年 06月 11日
* 版 本 号: 1.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 get_x() {return x;} double get_y(){return y;} double distance1(CPoint&); friend double distance2(CPoint&,CPoint&); }; double distance2(CPoint&t1,CPoint&t2) { double d; d=sqrt((t2.x-t1.x)*(t2.x-t1.x)+(t2.y-t1.y)*(t2.y-t1.y)); return d; } double CPoint::distance1(CPoint&t) { double d; d=sqrt((x-t.x)*(x-t.x)+(y-t.y)*(y-t.y)); return d; } double distance3(CPoint&t1,CPoint&t2) { double d; d=sqrt((t2.get_x()-t1.get_x())*(t2.get_x()-t1.get_x())+(t2.get_y()-t1.get_y())*(t2.get_y()-t1.get_y())); return d; } int main() { CPoint t1,t2(10,10); t1.distance1(t2); cout<<t1.distance1(t2)<<endl; CPoint t3,t4(100,100); cout<<distance2(t3,t4)<<endl; CPoint t5,t6(1000,1000); cout<<distance3(t5,t6); system("pause"); return 0; }
友元函数和成员函数可以直接引用类中的的数据成员,而一般函数则要通过公有函数来访问数据成员。