问题
填空题
下面程序的输出结果是 【15】 。
#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;
答案
参考答案:D
解析: 本题考核友元函数的应用。分析程序:类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。