-
/*
- * 程序的版权和版本声明部分
- * Copyright (c)2013, 烟台大学计算机学院学生
- * All rightsreserved.
- * 文件名称: object.cpp
- * 作者:王俊
- * 完成日期: 2013年 4 月 17日
- * 版本号: v1.0
- * 输入描述:无
- * 问题描述:Time为Date的友元类
- * 程序输出:略。
- */
-
输出代码:
运行结果:#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 &); //参数用const CPoint &更佳 引用成员函数 friend double distance2(cpoint &, cpoint &) ; //定义友元函数 引用友元函数 double getX(){return x;} //定义函数返回X值 double getY(){return y;} //定义函数返回Y值 }; double distance3(cpoint &, cpoint &); //引用一般函数 double cpoint::distance1(cpoint &p) //引用成员函数 distance引用p的值 { double dx,dy; dx=x-p.x; dy=y-p.y; return sqrt(dx*dx+dy*dy); } double distance2(cpoint &p1, cpoint &p2) //引用友元函数 { double dx,dy; dx=p1.x-p2.x; dy=p1.y-p2.y; return sqrt(dx*dx+dy*dy); } double distance3(cpoint &p1, cpoint &p2) { double dx,dy; dx=p1.getX()-p2.getX(); dy=p1.getY()-p2.getY(); return sqrt(dx*dx+dy*dy); } int main() { cpoint p1(10,5),p2(3,9); cout<<"引用成员函数计算的两点距离:"<<p1.distance1(p2)<<endl; cout<<"引用成员函数计算的两点距离:"<<distance2(p1,p2)<<endl; cout<<"引用成员函数计算的两点距离:"<<distance3(p1,p2)<<endl; system("pause"); return 0; }