有如下程序: include using namespace std; class Sample { frien有如下程序: #include <iostream> 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 * fu

题目
有如下程序: include using namespace std; class Sample { frien

有如下程序: #include <iostream> 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 stun = 0; for (int i=0; i<6; i++) {sum += fun(Sample(i));} cout << sum; return 0; }运行时输出的结果是

A.120

B.16

C.154

D.34


相似考题
更多“有如下程序: #include <iostream> using namespace std; class Sample { frien ”相关问题
  • 第1题:

    有如下程序:includeusing namespace std;int s=0;class sample{ static int n;public

    有如下程序: #include<iostream> using namespace std; int s=0; class sample { static int n; public: sample(int i) { n=i; } static void add() { s+=n; } }; int sample::s=0; int main() { sample a(2),b(5); sample::add(); cout<<s<<endl; return 0; } 程序运行后的输出结果是

    A.2

    B.5

    C.7

    D.3


    正确答案:B
    解析:本题考核静态数据成员和静态成员函数的应用。程序中定义一个类sample,它包括一个静态数据成员n和一个静态成员函数add,并在类的构造函数中给类私有静态数据成员n赋值。在主函数main中,定义对象a(2)时,通过构造函数使静态数据成员n的值变为2,在定义对象b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面的n=2),再执行sample::add()使全局变量s=5。

  • 第2题:

    若有如下程序:includeusing namespace std;int s=0;class sample{static int n;pubic

    若有如下程序: #include<iostream> using namespace std; int s=0; class sample { static int n; pubic: sample(int i) { n=i; } static void add() { S+=n; } }; int sample::n=O; int main() { sample a(2),b(5); sample::add(); cout<<s<<endl; return 0; } 程序运行后的输出结果是( )。

    A.2

    B.5

    C.7

    D.3


    正确答案:B

  • 第3题:

    若有如下程序:include using namespaces std;int s=0;class sample {static iht n;pu

    若有如下程序: #include <iostream> using namespaces std; int s=0; class sample { static iht n; public: sample(int i) { n=i; } static void add() { s+=n; } }; int sample::s=0; int main() { sample a(2),b(5); sample::add(); cout<<s<<endl; return 0; } 程序运行后的输出结果是

    A.2

    B.5

    C.7

    D.3


    正确答案:B
    解析:本题考核静态数据成员和静态成员函数的应用。程序中定义一个类sample,它包括一个静态数据成员n和一个静态成员函数add,并在类的构造函数中给类私有静态数据成员n赋值。在主函数main中,定义对象a(2)时,通过构造函数使静态数据成员n的值变为2,在定义对象b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面的n=2),再执行sample::add()使全局变量s=5。

  • 第4题:

    执行如下程序,输出星号(*)的个数为includeusing namespaee std;class Sample{public:

    执行如下程序,输出星号(*)的个数为 #include<iostream> using namespaee std; class Sample{ public: Sample( ){ } ~Sample( ){cout<<'*';} }; int main( ){ Sample temp[2],*pTemp[2]; return 0; }

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:类在创建对象时调用构造函数,在撤销对象时调用析构函数,而在定义类指针时则不调用构造函数和析构函数。sampie temp[2]定义了一个2个元素的对象数组,因此调用两次析构函数,打印2个*。

  • 第5题:

    若有如下程序:includeusing namespace std;int s=0;class sample{static int n;publi

    若有如下程序: #include<iostream> using namespace std; int s=0; class sample { static int n; public: sample(int i) { n=i; } static void add() { S+=n; } }; int sample::n=0; int main() { sample a(2),b(5); sample::add(); cout<<s<<endl; return 0; } 程序运行后的输出结果是( )。

    A.2

    B.5

    C.7

    D.3


    正确答案:B