下列程序的运行结果是includeclass A{int a;public: A(){a=0;}A(int aa){ a=aa; co下列程序的运行结果是 #include<isotream.h> class A { int a; public: A(){a=0;} A(int aa) { a=aa; cout<<a++; } }; void main() { A x,y(2),z(3); cout<<end1; }A.0B.23C.34D.25

题目
下列程序的运行结果是includeclass A{int a;public: A(){a=0;}A(int aa){ a=aa; co

下列程序的运行结果是 #include<isotream.h> class A { int a; public: A(){a=0;} A(int aa) { a=aa; cout<<a++; } }; void main() { A x,y(2),z(3); cout<<end1; }

A.0

B.23

C.34

D.25


相似考题
更多“下列程序的运行结果是#include<isotream.h>class A{int a;public: A(){a=0;}A(int aa){ a=aa; co ”相关问题
  • 第1题:

    下列程序的运行结果是【 】。 include class test { private: int num; public: tes

    下列程序的运行结果是【 】。

    include <iostream. h>

    class test

    {

    private:

    int num;

    public:

    test()

    int TEST() {return num+100;}

    ~test()

    };

    test::test(){num=0;}

    test::~test(){cout<<"Destructor is active"<<endl;}

    void main()

    {

    test x[3]

    cout<<x[1]. TEST()<<endl;

    }


    正确答案:100
    100 解析:本题比较简单,考查考生基本的类的定义,构造函数以及对象数组的概念。

  • 第2题:

    有如下程序: include using namespace std; class XA{ int a; public: static int b;

    有如下程序:

    #include<iostream>

    using namespace std;

    class XA{

    int a;

    public:

    static int b;

    XA(int a

    A) : a(aA) {b++;}

    ~XA(){}

    int get(){return a;}

    };

    int XA::b=0;

    int main(){

    XA d1(2), d2(3);

    cout<<d1. get()+d2. get()+XA::b<<end1;

    return 0;

    }

    运行时的输出结果是( )。A) 5

    B) 6

    C) 7

    D) 8

    A.

    B.

    C.

    D.


    正确答案:C

  • 第3题:

    有如下程序:

    #include<iostream>

    using namespace std;

    class AA{

    public:

    AA(){tout<<‘l’;}

    };

    class BB:public AA{

    int k;

    public:

    BB():k(0){cout<<…2;}

    BB(int n):k(n){cout<<‘3’;}

    };

    int main(){

    BB b(4),C;

    return 0;

    }

    A.1312

    B.132

    C.32 D、1412


    正确答案:A
    解析:定义BB b(4)时先执行基类的构造函数,输出‘1’,在执行:BB类的第二个构造甬数,输出‘3’;定义c时先执行基类的构造函数输出‘1’,在执行BB类的第一个构造函数输出‘2’。共输出“1312”,故选A)。

  • 第4题:

    下列程序的运行结果是______。include class Base { public: void f(int x){cout<<“B

    下列程序的运行结果是______。

    include<iostream.h>

    class Base

    {

    public:

    void f(int x){cout<<“Base:”<<x<<endl;}

    );

    class Derived:public Base

    {

    public:

    void f(char*str){cout<<“Derived:”<<str<<endl;}

    };

    void main(void)

    {

    Base*pd=ne


    正确答案:Base:97。
    Base:97。 解析: 本题主要考查两个知识点,一是基类指针可以指向派生类对象,并可以访问派生类的所有成员。二是在函数重载中进行隐式类型转换。如pd->f(‘a’);系统到底调用哪个重载函数呢?实参既不是派生类中的形参,也不是基类中f函数的形参类型。此时系统根据就近原则和从高优先级到低优先级的规则尝试隐式转换。单字符更接近整数,故调用的是基类的f函数。

  • 第5题:

    下列程序的运行结果是【 】。includeclass Sample{int a;public: Sample(int aa=0) {a

    下列程序的运行结果是【 】。

    include<iostream, h>

    class Sample

    {

    int a;

    public:

    Sample(int aa=0) {a=aa;}

    ~Sample() {cout<<"Sample="<<a<<;}

    class Derived: public Sample

    {

    int b;

    public:

    Derived(int aa=0, int bb=0): Sample(aa) {b=bb;}

    ~De rived() {cout <<"Derived="<<b<<'';}

    void main()

    {

    Derived dl (9)

    }


    正确答案:Derived=0 Sample=9
    Derived=0 Sample=9 解析:本题考察派生类和基类的构造函数,析构函数的执行顺序。

  • 第6题:

    下面程序的运行结果是()。includeusing namespace std;class A{ int a;public: A(){a=

    下面程序的运行结果是( )。 #include<iostream> using namespace std; class A { int a; public: A(){a=0;1 A(int aa ) {a=aa;} virtual void show() { cout<<a>>"";} }; class B:public A int b: public: B(){b=0:} B(int bb) {b=bb;} void show() {cout<<b>>" ";} }; class C:public B { int c; public: C(int cc) { c=cc;} void show() {cout<<c>>endl;} }; void main() { A a( 8 ),*p;B b( 9 );C c( 10 ); p=&a; p->show(); p=&b; p->show(); p=&c; p->show(); }

    A.8 8 8

    B.8 9 10

    C.0 0 10

    D.10 10 10


    正确答案:B
    解析:指向基类对象的指针可以指向派生类的对象,但只引用继承下来的成员,不能引用自己新增函数;虚函数可被继承,继承下来并重新定义后仍是虚函数,不管继承层次多深,不管是否再用关键字viaual说明。故答案为B。

  • 第7题:

    下列程序的运行结果是()。includeclassA{int a;public:A(){a=0;}A(){int aa}{a=aa;c

    下列程序的运行结果是( )。 #include<iostream.h> classA { int a; public: A(){a=0;} A(){int aa} {a=aa; cout<<a++; } }; Void main() { A x,y(2),z(3); cout<<endl; }

    A.00

    B.23

    C.34

    D.25


    正确答案:B
    解析: 本题考查的是对构造函数的掌握,另外”++”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加1。

  • 第8题:

    下列程序的运行结果是()。 include class A { inta; public: A(){a=0:} A(int aa) {

    下列程序的运行结果是( )。 #include<iostream.h> class A { inta; public: A(){a=0:} A(int aa) { a=aa; cout<<a++; } }; void main() { A x,y(2),z(3); cout<<endl; }

    A.0

    B.23

    C.34

    D.25


    正确答案:B

  • 第9题:

    有如下程序: inClude using namespace std; class AA { public: viltual void f() { c

    有如下程序:

    inClude<iostream>

    using namespace std;

    class AA

    {

    public:

    viltual void f()

    {

    cout<<"AA";

    }

    };

    class BB:public AA

    {

    public:

    BB()

    {

    cout<<"BB";

    }

    };

    class CC:public BB

    {

    public:

    virtual void f()

    {

    BB::f();

    cout<<"CC";

    }

    };

    int main()

    {

    AA aa,*p;BB bb;CC cc;

    p=&cc;

    p->f();

    return 0;

    }

    运行后的输出结果【 】。


    正确答案:BBBBAACC
    BBBBAACC 解析:本题考核虚函数。本题中,函数f()在基类AA中派生类CC中都声明为虚函数,所以采用动态联编。主函数首先定义类AA的对象aa和指针对象p,然后定义了类BB的对象bb,此时调用了类BB的构造函数输出BB。再定义类CC的对象cc,由于类CC是类BB的派生类,所以此时又调用类BB的构造函数输出BB。最后执行语句“p=&cc;p->f();”,输出AA和CC。

  • 第10题:

    有如下程序:includeusing namespaee std;class AA{public:AA( ){cout<<'1';}};class

    有如下程序: #include<iostreanl> using namespaee std; class AA{ public: AA( ){cout<<'1';} }; class BB:public AA{ int k; public: BB( ):k(0){eout<<'2';} BB(int n):k(n){cout<<'3';} }; int main( ){ BB,b(4),c; return 0; } 程序的输出结果是

    A.1312

    B.132

    C.32

    D.1412


    正确答案:A
    解析:创建派生类对象时,先调用基类构造函数,然后调用派生类构造函数,b(4)先调用基类构造函数,然后调用BB的带参数构造函数,打印1和3;c调用基类AA的构造函数,然后调用BB的构造函数,打印1和2。故答案为A。

  • 第11题:

    有如下程序:include using namespace std;class AA{ int n;public: AA(int k):n (k)

    有如下程序: #include <iostream> using namespace std; class AA{ int n; public: AA(int k):n (k) { } int get(){return n; } int get()const{return n+1;} } int main() { AA a(5); const AA b(6); cout<<a.get()<<b.get(); return 0; } 执行后的输出结果是( )。

    A.55

    B.57

    C.75

    D.77


    正确答案:B

  • 第12题:

    下列程序的运行结果为includeint i=0;class A{public:A(){i++;}};void main(){Aa,b

    下列程序的运行结果为 #include<iostream.h> int i=0; class A{ public: A(){i++;} }; void main() { Aa,b[3],*c; c=b; cout<<i<<end1;

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:外部变量i实际上记录的是调用构造函数的次数。

  • 第13题:

    有如下程序: include using namespace std; class AA { int n;

    有如下程序: #include<iostream> using namespace std; class AA { int n; public: AA(int k);n(k){} intget(){return n;} int get()const{return n+1;} }; int main() { AA a(5); const AA b(6); cout<<a.get()<<b.get(); return 0; } 执行后的输出结果是

    A.55

    B.57

    C.75

    D.77


    正确答案:B
    解析:本题考查const对象。一个const对象只允许被声明为const的方法函数引用。

  • 第14题:

    下列程序的运行结果是()。includeclass A{inta;public:A( ){a=0;}A(int aa){a=aa;co

    下列程序的运行结果是( )。 #include<iostream.h> class A { inta; public: A( ){a=0; } A(int aa) { a=aa; cout<<a++; } }; void main() { A x,y (2),z (3): cout<<endl; }

    A.0

    B.23

    C.34

    D.25


    正确答案:B

  • 第15题:

    有如下程序:includeusing name。pace std;class AA{int n:public:AA(int k):n(k){}in

    有如下程序: #include<iostream> using name。pace std; class AA{ int n: public: AA(int k):n(k){} in get( ){return n;} int get( )const{return n+1;} }; int main( ){ AA a(5); const AA b(6); cout<<a.get( )<<b.get( ); return 0: 执行后的输出结果是

    A.55

    B.57

    C.75

    D.77


    正确答案:B
    解析:如果一个对象被定义为常对象,则它只能调用该类的常成员函数而不能调用其他的成员函数。

  • 第16题:

    下面程序的输出结果是【】。 include using namespace std; class A {int a,b; public:A

    下面程序的输出结果是【 】。

    include <iostream>

    using namespace std;

    class A

    {

    int a, b;

    public:

    A()

    {

    a = b = 0;

    }

    A(int aa, int bb ) : a(aA) , b(bB)

    {

    cout <<"a="<<a<<","<<"b="<<b<<",";

    }

    ~A()

    {

    cout<<"D";

    };

    int main ( )

    {

    A x, y(2, 3);

    return 0;

    }


    正确答案:a=2b=3DD
    a=2,b=3DD 解析:本题主要考核构造函数与析构函数的应用。主函数中定义 A类对象x时无输出,定义对象y时调用构造函数输出a=2,b=3。在主函数结束前,对象x,y都调用各自的析构函数输出DD。所以最后答案为a=2,b=3DD。

  • 第17题:

    有如下程序:include using namespace std;class AA {int n;public:AA(int k):n(k) {}

    有如下程序:#include <iostream>using namespace std;class AA { int n;public: AA(int k):n(k) {} int get(){return n;} int get()const { return n+1; }};int main(){ AAa(5); const AA b(6); cout<<a. get()<<b. get(); return ();}执行后的输出结果是( )。

    A.55

    B.57

    C.75

    D.77


    正确答案:B

  • 第18题:

    请分析下面的程序并给出该程序的执行结果【】。 include class AA {int a;public: AA()

    请分析下面的程序并给出该程序的执行结果【 】。

    include <iostream>

    class AA {

    int a;

    public:

    AA() {cout<<" Initializing AA!\n" ; }

    AAM() {cout<<" Destroying AA!\n" ;

    };

    class BB {

    int b;

    AA p;

    public:

    BB() {cout<<"Initializing BB!\n" ;

    ~BB() {cout<<"Destroying BB!\n" ;

    };

    void main() {

    BB X;

    cout<<"Ending main!\n' ;

    }


    正确答案:Initializing AA! Initializing BB! Ending main! Destroying BB! Destroying AA!
    Initializing AA! Initializing BB! Ending main! Destroying BB! Destroying AA!

  • 第19题:

    下列程序的运行结果是 include class A { int a; public: A( ) {a=0;}A(int aa) {

    下列程序的运行结果是

    #include<iostream.h>

    class A

    {

    int a;

    public:

    A( ) {a=0;}

    A(int aa)

    {

    a=aa;

    cout < < a++;

    }

    };

    void main( )

    A x,y(2) ,z(3) ;

    cout < < endl;

    }

    A.00

    B.23

    C.34

    D.25


    正确答案:B
    解析:本题考查的是对构造函数的掌握,另外“++”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加1。

  • 第20题:

    有如下程序:includeusing namespace std;class AA{ int n;public: AA(int k):n (k){}

    有如下程序: #include<iostream> using namespace std; class AA{ int n; public: AA(int k):n (k){} int get(){return n;) int get()const{return n+1;} }; int main() { AA a(5); const AA b(6); cout<<a.get()<<b.get(); return 0; } 执行后的输出结果是

    A.55

    B.57

    C.75

    D.77


    正确答案:B
    解析:本题考核常成员函数和函数的重载。所谓函数重载,是指同一个函数名可以对应着多个函数的实现,类AA中定义了两个get()函数,一个为普通成员函数,另一个为常成员函数。一般对象a既可以调用普通成员函数get,也可以调用常成员函数get,但是由于常成员函数不能更新对象的数据成员,所以题中通过对象a调用的函数为普通成员函数get(),返回值为5。常对象b只能调用常成员函数,所以题中通过对象b调用的函数为常成员函数get(),返回值为7。

  • 第21题:

    下列程序的运行结果是includeclass A{int a;public:A( ){a=0;}A(int aa) { a=aa; c

    下列程序的运行结果是 #include<iostream.h> class A { int a; public: A( ){a=0;} A(int aa) { a=aa; cout<<a++; } }; void main( ) { A x,y(2),z(3); cout<<end1; }

    A.0

    B.23

    C.34

    D.25


    正确答案:B
    解析:本题考查的是对构造函数的掌握,另外“++”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加1。

  • 第22题:

    如下程序的输出结果是includeincludeusing namespace std;class XCD{char*

    如下程序的输出结果是 #include<lostream> #include<cstring> using namespace std; class XCD{ char*a; int b; public: XCD(char*aa,int bB) { a=new char[strlen(aA) +1]; strcpy(a,aA) ; b=bb; } char*Geta( ){return a;} int Getb( ){return b;} }; int main( ){ char*pl="abcd",*p2="weirong": int dl,6,d2=8; XCD x(pl,d1),y(p2,d2); cout<<strlen(x.Geta( ))+y.Getb( )<<endl; return 0; }

    A.12

    B.16

    C.14

    D.11


    正确答案:A
    解析:构造对象x,所以x.a="abcd",x.b=6,构造对象y,y.a="weirong",y.b=8,所以strlen(x.geta( ))+y.getb( )=12。 

  • 第23题:

    下列程序的运行结果是( )。 #include<iostream.h> class A { int a; public: A{a=0;} A(int aA. { a=aa; cout<<a++: } }; void main { A X,Y(2),z(3); cout<<endl: }

    A.00

    B.23

    C.34

    D.25


    正确答案:B
    本题考查的是对构造函数的掌握,另外“++”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加l。