有以下程序 #include<iostream> using namespace std; class sample { private: int x; public: sample(int a)

admin2010-06-06  32

问题 有以下程序    #include<iostream>    using namespace std;    class sample    {    private:       int x;    public:       sample(int a)       {          x=a;       }       friend double square(sample s);    };    double square(sample S)    {          return  s.x*s.x;    }    int main()    {       sample s1(20),s2(30);       cout<<square(s2)<<endl;       return 0;    }    执行结果是

选项 A、20
B、30
C、900
D、400

答案C

解析 本题考核友元函数的应用。程序中函数square是类sample的一个友元函数,它可以直接访问类sample的所有成员。它的功能是返回类sample的私有数据成员x的平方。所以程序的执行结果是:900。注意:友元函数不是类的成员函数,在类外定义时不要加上类名及其作用域运算符(::)。友元函数的调用与一般函数的调用的方式和原理一致,可以在程序的任何地方调用它。
转载请注明原文地址:https://kaotiyun.com/show/Qyjp777K
0

相关试题推荐
最新回复(0)