/*
*copyright(c) 2015,烟台大学计算机学院
*All rights reserved。
*文件名称:第六周(友元函数)
*作者:王忠
*完成日期:2015.4.14
*版本号:v1.0
*
*问题描述:别利用成员函数、友元函数和一般函数求两点间距离的函数,并设计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){} //请继续写需要的代码 void distance1(CPoint p) const; friend void distance2(CPoint &,CPoint &); double getx() {return x;} double gety() {return y;} }; void CPoint::distance1(CPoint p) const { double s; s=sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)); cout<<s<<endl; } void distance2(CPoint &p1,CPoint &p2) { double s; s=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)); cout<<s<<endl; } void distance3(CPoint &p1,CPoint &p2) { double s; s=sqrt((p1.getx()-p2.getx())*(p1.getx()-p2.getx())+(p1.gety()-p2.gety())*(p1.gety()-p2.gety())); cout<<s<<endl; } int main() { CPoint c1(5,5),c2(10,6); c1.distance1(c2); distance2(c1,c2); distance3(c1,c2); return 0; }
这个项目在一开始做的时候,应用了以前的程序,但有点难以下手,不知道如何去定义一些函数,后来在写的过程中,一般函数写进了类里,还忘记了一般函数不能访问类里私有成员
时间: 2024-10-17 13:12:06