有如下程序: #inelude using namespace std; class Sample{ friend long fun(Sample S); public: Sample(long a){x=a

admin2019-04-18  20

问题 有如下程序:
    #inelude
    using namespace std;
    class Sample{
    friend long fun(Sample S);
    public:
    Sample(long a){x=a;}
    private:
    long x;
    };
    long fun(Sample s){
   if(s.x<2)return 1;
   return s.x*fun(Sample(s.x-1));
    }
    int main()
    {
    int sum=0;
    for(int i=0;i<6;i++)
    {sum+=fun(Sample(i));}
    cout<    return 0;
    }
    执行这个程序的输出结果是(    )。

选项 A、120
B、16
C、154
D、34

答案C

解析 本题考查默认构造函数,当i=0、1时,fun(sample(i))为1;当i=2时,fun(sample(i))为2;当i=3时,fun(Sample(i))为6;当i=4时,fun(Sample(i))为24;当i=5时,fun(Sample(i))为120。所以总和为154。
转载请注明原文地址:https://jikaoti.com/ti/sRt0FFFM
0

最新回复(0)