选择题   有以下程序:
    #include<iostream>
    #include<math>
    using namespace std;
    class point
    {
    private:
      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));
    }
    int main()
    {
      point p1(1,2);
      point p2(5,2);
      cout<<distance(p1,p2)<<end1;
      return 0;
    }
    程序运行后的输出结果是
 
【正确答案】 C
【答案解析】本题考核友元函数的应用。分析程序:类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,2)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。