/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: 刘文英 * 完成日期:2012 年 4月2日 * 版 本 号: * 对任务及求解方法的描述部分 * 输入描述: 将任务4的解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优点。 * 问题描述: * 程序输出: * 程序头部的注释结束*/ #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 ( CPoint & );//成员函数的声明 friend double distance2 ( CPoint &, CPoint &);//友元函数的声明 double getx() { return x;} //公共接口 double gety() { return y;} }; double distance3 ( CPoint &, CPoint &);//一般函数的声明 double CPoint :: distance1 ( CPoint & t)//成员函数的实现,要加域运算符 { return sqrt( ( t.x - x) * (t.x - x ) + ( t.y - y ) * ( t.y - y ) ); } double distance2 ( CPoint & t1, CPoint & t2)//友元函数的实现,不属于类,不需要加域运算符 { return sqrt( (t1.x - t2.x ) * ( t1.x - t2.x ) + (t1.y - t2.y ) * (t1.y - t2.y ) ); } double distance3 ( CPoint & t1, CPoint & t2) { return sqrt( (t1.getx() - t2.getx() ) * (t1.getx() - t2.getx() ) + (t1.gety() - t2.gety() ) * (t1.gety() - t2.gety() ) ); }//以公共接口的形式访问私有成员 void main () { CPoint c1 ( 3 , 2 ) , c2 ( 5 , 7 ); cout << "此两点之间的距离为:" << c1. distance1 ( c2 ) << endl; cout << distance2 ( c1, c2 ) << endl; cout << distance3 ( c1 , c2 ) << endl; }
感觉坐在电脑前编程的时候时间过的速度真的好快,有时候几个小时不知不觉之间就那么过去了。忙忙碌碌,难道这就是大学生活?