niusouti.com

下列程序的输出结果为( )。 #include<iostream.h) class TestClass { public: TestClass(){val++;} static,int val; }; int TestClass::val=0; void main() { TestClass cs1; cout<<csl.val<<““; TestClass cs2; TestClass cs3,cs4; coA.03B.13C.14D.24

题目

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

A.03

B.13

C.14

D.24


相似考题
参考答案和解析
正确答案:C
解析: 由主函数main入手,定义TestClass类的对象cs1,执行es1.va1,其中va1为静态变量,根据“tnt TestClass::val=0:”初始化,TestClass中的TestClass(){val++;}构造函数执行后,val值为1。主函数中接着定义对象cs2,cs3,cs4。执行“coutcs2.va1end1”中的val值为4,所以输出为14。
更多“下列程序的输出结果为()。#include<iostream.h)class TestClass{public:TestClass(){val++;}stati ”相关问题
  • 第1题:

    下列程序输出结果为: include using namespace std; class TestClass1 { public: Test

    下列程序输出结果为:

    include<iostream>

    using namespace std;

    class TestClass1

    {

    public:

    TestClass1(){}

    TestClass1(int i)

    {

    x1=i;

    }

    void dispa()

    {

    cout<<"x1="<<x1<<",";

    }

    private:

    int x1;

    };

    class TestClass2:public TestClass1

    {

    public:

    TestClass2(){}

    TestClass2(int i):TestClass1(i+10)

    {

    x2=i;

    }

    void dispb()

    {

    dispa();

    cout<<"x2="<<x2<<endl;

    }

    private:

    int x2;

    };

    int main()

    {

    TestClass2 b(2);

    b.dispb();

    return 0;

    }


    正确答案:x1=12x2=2
    x1=12,x2=2 解析:由主函数main入手,首先定义类TestClass2的对象b,成员数据为2。然后调用dispb函数。在dispb中首先执行dispa函数,TestClass2为TestClass1的派生类,“TestClass2(int i):TestClass1(i+10)”所以TestClass1中的x1=12,dispa输出的结果为x1=12。在TestClass1中x2=2,所以dispb中的输出语句“cout”x2=”x2endl;”,输出x2=2。即答案为“x1=12,x2=2”。

  • 第2题:

    若有如下程序:includeusing namespace std;class TestClass{public:void who() {cout

    若有如下程序: #include<iostream> using namespace std; class TestClass { public: void who() {cout<<"TestClass"<<endl;} }; class TestClass1:public TestClass { public: void who(){cout<<"TestClass1"<<endl;} }; int main() { TestClass *p; TcstClass1 obj1; p=&obj1; p->who(); return 0; } 则该程序运行后的输出结果是( )。

    A.TestClass1

    B.TestClass

    C.0

    D.无输出


    正确答案:A
    解析:程序中的TestClas1为TestClass的派生类,主函数main中定义TestClass对象*p,TestClass1对象obj1,然后p引用obj1,执行p->who()则是调用基类中的who函数,输出TcstClass。

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

    下列程序的输出结果是()。 include using namespace std; class TestClass{ static in

    下列程序的输出结果是( )。 #include<iostream> using namespace std; class TestClass{ static int i; public: TestClass(){i++;} ~TestClass(){i--;} static int getVal(){retum i;} }; int TestClass∷i=0; voi

    A.111

    B.121

    C.211

    D.221


    正确答案:D
    解析: 由主函数mian入手,首先定义TestClass对象ob1,调用构造函数后,i等于1。在“int TestClass∷i=0”语句中,i首先被赋值为0,它是静态函数可以被所有对象引用,并且静态成员变量,当它值被改变后,则在各对象中这个数据成员的值都同时改变。主函数中首先调用fun函数,其中又定义了对象ob2,调用gtVal;i等于2,输出。主函数“obj*ob3=newTestClass;coutob3->getVal();”动态分配,i等于2,输出。“delete ob3;”析构函数后,i等于1,

  • 第5题:

    若有以下程序:includeusing namespace std;class TestClass{public:void who(){cout<

    若有以下程序: #include<iostream> using namespace std; class TestClass { public: void who(){cout<<"TestClass"<<endl;} }; class TestClass1:public TestClass { public: void who(){cout<<"TestClass1"<<endl;} }; int main() { TestClass *p; TestClass1 obj1; P=&obj1; P->who(); return 0; 则该程序运行后的输出结果是( )。

    A.TestClass1

    B.TestClass

    C.0

    D.无输出


    正确答案:B