有以下程序: #include <iostream> #include <math> using namespace std; class point { private: double x; d

admin2013-05-30  30

问题 有以下程序:    #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 pl(1,2);       point p2 (5, 2);       cout<<distance (pl,p2) <<end1;       return 0;    }    程序运行后的输出结果是(   )。

选项 A、1
B、5
C、4
D、6

答案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两点之间的距离。
   ③在主函数中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance()计算两点之间的距离为4,所以程序最后输出为4。
转载请注明原文地址:https://kaotiyun.com/show/5UNp777K
0

最新回复(0)