当前编程题: 实验2-类和对象的进一步讨论---计算两点间距离(友元成员函数)
5.【问题描述】在平面直角坐标系中,点类Point包括两个数据成员:x(横坐标),y(纵坐标);若干成员函数,要求使用友元函数计算两点间距离。设计main()函数,以点(0,0)和(3,4)作为测试数据,测试程序。
【输入形式】本题没有输入,初始化工作由构造函数完成。 【输出形式】输出占一行,为给定的两点间距离。 【样例输入】无 【样例输出】5.00 【样例说明】两点(0,0)和(3,4)之间的距离为5.00。 【评分标准】本题共20分,1个测试点。
【编程说明】本题必须使用类,在main()函数中按照给定的数值创建对象,通过友元函数完成所需计算。非基于对象的程序且未按照要求做不得分。
#include<iostream> #include<iomanip> #include<math.h> using namespace std; class kind2; class kind1 { public: kind1(int xx,int yy):x(xx),y(yy){} float handle(kind2 &); private: int x,y; }; class kind2 { public: kind2(int xx,int yy):x(xx),y(yy){} friend float kind1::handle(kind2 &); private: int x,y; }; float kind1::handle(kind2 &two) { return(sqrt((two.x-x)*(two.x-x)+(two.y-y)*(two.y-y))); } int main() { kind1 one(0,0); kind2 two(3,4); cout<<setiosflags(ios::fixed)<<setprecision(2); cout<<one.handle(two)<<endl;; return 0; }