如下程序的输出结果是______。 include using namespace std; class pumpkin{ publ如下程序的输出结果是______。include<iostream>using namespace std;class pumpkin{public:pumpkin( ){++count;}~pumpkin( ){--eount;}static void total_count( ){cout<<count<<"pumpkin(s)"<<endl;}private:stati

题目
如下程序的输出结果是______。 include using namespace std; class pumpkin{ publ

如下程序的输出结果是______。

include<iostream>

using namespace std;

class pumpkin{

public:

pumpkin( ){++count;}

~pumpkin( ){--eount;}

static void total_count( ){cout<<count<<"pumpkin(s)"<<endl;}

private:

static int count;

};

int pumpkin::count=0;

int main( ){

pumpkin pl[10];

pumpkin::total_count( );

return 0;

}


相似考题
更多“如下程序的输出结果是______。 include<iostream> using namespace std; class pumpkin{ publ ”相关问题
  • 第1题:

    有如下程序: include using namespace std; class pumpkin{ public:pumpkin(){++count

    有如下程序:

    include<iostream>

    using namespace std;

    class pumpkin{

    public:

    pumpkin(){++count;}

    ~pumpkin(){--count;}

    static void total_count(){

    cout<<count<<"pumpkin(s)"<<end1;

    }

    private:

    static int count;

    };

    int pumpkin::count=0;

    int main(){

    pumpkin p1[10];

    pumpkin::total_count();

    return 0;

    }

    这个程序的输出结果是______。


    正确答案:10pumpkin(s)
    10pumpkin(s) 解析:此题考查的是静态数据成员。题目中count数据成员要定义成静态的,静态数据成员是类中所有对象共享的成员,而不是某个对象的成员。本题中,pumpkin类定义了一个静态数据成员count,并初始化为0。在主函数中,首先定义了该类对象p1[10],所以构造函数被调用10次,count累加1十次;然后调用函数total count(),通过函数该输出count的值10。total count()函数结束,对象被释放,故析构函数被调用了10次,count变成0。

  • 第2题:

    如下程序的输出结果是includevoid fun(int & X,inty){intt=x;x=y;y=t;}int main(){in

    如下程序的输出结果是 #include<iostream> void fun(int & X,inty){intt=x;x=y;y=t;} int main( ){ int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; }

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:参数X是引用传递,传递的是地址:参数Y是值传递,函数fun( )是做X与Y值交换,交换后X的值要被回传给a[1],此时a[1]=a[0]=23。

  • 第3题:

    有如下程序:include using namespace std;int s=0;class sample { static int n;publ

    有如下程序: #include <iostream> using namespace std; int s=0; class sample { static int n; public: sample(int i) { n=i; } static void add() { s+=n; } };

    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题:

    有如下程序:include void fun(int& x, int y){int t=x;x=y;y=t;}int main (){int

    有如下程序: #include <iostream> void fun(int& x, int y){int t=x;x=y;y=t;} int main () { int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; } 执行后的输出结果是

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:本题考核函数的调用以及参数值的传递。函数fun中的第一个参数采用引用传值方式,函数中对形参值的改变同样作用于实参上;第二个参数采用按值传值方式,函数中对形参的操作不会影响到实参。所以main函数中调用fun函数后,a[1]的值被修改为a[0]的值,而a[0]的值没有改变。

  • 第5题:

    请将如下程序补充完整,使得输出结果为:bbaa。 include using naluespace std; class

    请将如下程序补充完整,使得输出结果为:bbaa。

    include<iostream>

    using naluespace std;

    class A{

    public:

    ______{eout<<"aa";}

    };

    class B:public A{

    public:

    ~B( ){eont<<"bb";}

    };

    int ulain( ){

    B*P=new B;

    delete P;

    return 0;

    }


    正确答案:~A( )
    ~A( ) 解析:派生类和基类的析构函数调用顺序是先调用派生类的析构函数,然后调用基类的析构函数,打印“bb”说明已经在调用派生类的析构函数,则要继续打印“aa”,显然就只有定义在基类的析构函数中去打印,故答案为~A( )。