下面程序的输出结果为()。includeclass CStatic{public:CStatic(){val++;}static in下面程序的输出结果为( )。 #include<iostream.h> class CStatic { public: CStatic(){val++;} static int val; }; int CStatic::val=0; void main() { CSatic cs1; cout<<cs1.va1<<""; CStatic cs2; CStatic cs3,c

题目
下面程序的输出结果为()。includeclass CStatic{public:CStatic(){val++;}static in

下面程序的输出结果为( )。 #include<iostream.h> class CStatic { public: CStatic(){val++;} static int val; }; int CStatic::val=0; void main() { CSatic cs1; cout<<cs1.va1<<""; CStatic cs2; CStatic cs3,cs4; cout<<cs2.v

A.14

B.24

C.34

D.54


相似考题
参考答案和解析
正确答案:A
更多“下面程序的输出结果为()。#include<iostream.h>class CStatic{public:CStatic(){val++;}static in ”相关问题
  • 第1题:

    下面程序的输出结果是includeclass A{public: A( ) {cout < < "construtA" < < end

    下面程序的输出结果是 #include<iostream.h> class A { public: A( ) {cout < < "construtA" < < endl;} Virtual~A( ) {cout < < "destructA" < < endl;}}; class B: public A { }; class C:public A { }; class D:public B,public C { }; void main( ) { D d;}

    A.constructA

    B.constructA

    C.constructA

    D.constructA destructA constructA constructA constructA destructA constructA constrnctA destructA destructA constructA destructA destructA destructA destrctA destructA destructA


    正确答案:B
    解析:类D继承了类C和类B,所以在构造的时候分别构造类B和类C。

  • 第2题:

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。 include usingn

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。

    include <iostream.h>

    using namespace std;

    class A

    {

    public: A() {cout<<'A';

    };

    class B:______

    {

    public: B() {cout<<'B';}

    };

    class C:______

    {

    public: C(} cout<<'C';}

    };

    class D:public B, public C

    {

    public: D(){cout<<'D';}

    };

    void main(){D obj;}


    正确答案:virtual public A; visual public A
    virtual public A; visual public A 解析:本题考核虚基类的应用。通过虚基类所派生的类,在所产生的对象中,只包含了一个和其他类共享的基础对象,也就是说,从同一个基类中以虚拟方式派生的所有类,在它们所产生的对象里,不会有一份基础对象,而只是在内存里保留一份基础对象,而派生类中只保留指向此基础对象的指针,这样就千会同时有两份基类对象的情形发生。题中程序最后字符A只输出了一次,所以类A必须为类 B和类C的虚基类。

  • 第3题:

    下列程序的输出结果为()。includeclass TestClass{public:TestClass (){val++;}stat

    下列程序的输出结果为( )。 #include<iostream.h> class TestClass { public: TestClass (){val++;} static int val; }; int TestClass::val=0; void main() { TestClass cs1; cout<<cs1.val<<""; TestClass cs2; TestClass cs3,cs4; cout<<cs2.val<<endl; }

    A.03

    B.13

    C.14

    D.24


    正确答案:C
    解析:由主函数main入手,定义TestClass类的对象cs1,执行cs1.val,其中val为静态变量,根据“intTestClass::val=0;”初始化,TestClass中的TestClass(){val++;)构造函数执行后,val值为1。主函数中接着定义对象cs2,cs3,cs4。执行“coutcs2.valendl;”中的val值为4,所以输出为14。

  • 第4题:

    下面程序的输出结果为()。includeclass CStatic{public:CStatic() {val++;}static i

    下面程序的输出结果为( )。#include<iostream.h>class CStatic{public:CStatic() {val++;}static int val;};int CStatic::val=0;void main(){CStatic cs1;cout<<cs1.val<< "";CStatic cs2;CStatic cs3, cs4;cout<<cs val<<end1;}

    A.14

    B.24

    C.34

    D.54


    正确答案:A

  • 第5题:

    下面程序输出的结果为 #include"iostream.h” class A { public: A(){cout<<"CLASSA"<<endl;} ~A() {} }; class B:public A { public: B(){cout<<"CLASS B"<<endl;} ~B(){} }; void main() { A*p; p=new B;

    A.CLASS A CLASS B CLASS B CLASS B

    B.CLASS A CLASS B CLASS A CLASS B

    C.CLASS A CLASS B CLASS B

    D.CLASS A CLASS B


    正确答案:C