填空题 下面程序的输出结果是{{U}} 【15】 {{/U}}。 #include <iostream.h> #include <math.h> class point { double x; double y; public: point(double a, double b) { x=a; y=b; } friend double distance(point a, point b) ; }; double distance(point a, point b) { return sqrt ((a. x-b.x) * (a. x-b.x)+ (a. y-b. y) * (a. y-b. y) ); } void main() { point p1(1,2); point p2(5,2); cout<<distance(p1,p2)<<end1; }
  • 1、
【正确答案】 1、4    
【答案解析】[解析] 本题考核友元函数的应用。分析程序:类point中定义了两个私有成员x和y,以及一个友元函数distance。从而,函数 distance可以访问类point中的任何成员。在函数 distance中,返回值为sqrt((a. x-b. x)*(a. x-b. x)+ (a. y-b. y)*(a. y-b. y))。由此可知,函数distance的功能是计算a、b两点之间的距离。在土函数main中,先定义两点:p1(1,2)和p2(5,1)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。