计算机二级

下面程序的运行结果为( )。 #include(iostream.h) Class A { public:A(){cout<<“1”;} ~A(){cout<<“2”;} }; Class B:public:A { public: B(){cout<<“3”;) ~B(){cout<<“4”;} }; Void main() { B b; }A.1234B.1324C.1342D.3142

题目

下面程序的运行结果为( )。 #include(iostream.h) Class A { public:A(){cout<<“1”;} ~A(){cout<<“2”;} }; Class B:public:A { public: B(){cout<<“3”;) ~B(){cout<<“4”;} }; Void main() { B b; }

A.1234

B.1324

C.1342

D.3142

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序的运行结果是includeclass base{protected: int a;public: base(){cout <<

下面程序的运行结果是 #include<iostream.h> class base{ protected: int a; public: base(){cout <<"0";} }; class basel:virtual base{ public: basel () {cout <<"1";} }; class base2:virtual base{ public: base2(){cout <<"2";} }; class derived:public basel,public base2{ public: derived(){cout <<"3";} }; void main() { derived obj; cout <<end1; }

A.123

B.3120

C.312

D.3012


正确答案:A
解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。

第2题:

下面程序的运行结果为includeclass A{public:A(){cout<<"1";} ~A(){cout<<"2";}};C

下面程序的运行结果为 #include<iostream,h> class A { public: A(){cout<<"1";} ~A(){cout<<"2";} }; Class B:public A { public: B(){cout<<"3";} ~B(){cout<<"4";} }; void main() { B b; }

A.1234

B.1324

C.1342

D.3142


正确答案:C
解析:公有继承的派生类和基类是子类型的关系,所谓子类型是类型间一般和特殊的关系,即派生类是基类的子类型或者说基类的操作可以被用于操作派生类的对象。

第3题:

下面程序的运行结果为includeclass A{public: A( ){cout<<"1";}~A( ){cout<<"2";}}

下面程序的运行结果为 #include<iostream.h> class A { public: A( ){cout<<"1";} ~A( ){cout<<"2";} }; class B:public A { public: B( ){cout<"3";} ~B( ){cout<<"4";} }; void main( ) { B

A.1234

B.1324

C.1342

D.3142


正确答案:C
解析:本题考查的是在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。

第4题:

下面程序的结果是includeclass A{int a;public:A( ):a(1){}void showa( ){cout<

下面程序的结果是 #include<iostream.h> class A { int a; public: A( ):a(1){} void showa( ){cout<<a;} }; class B { int a; public: B( ) :a(2) {}

A.1

B.2

C.3

D.程序有错误


正确答案:C
解析:类A,类B,中都有showa()函数,类C继承后再次重写showa()函数就解决了继承的二义性,这时c.showa()函数显示的就是类C中的showa()的值。

第5题:

下面程序的运行结果为 include class A { public: A( ) {cout < <"1";} ~A( ) {co

下面程序的运行结果为

#include<iostream. h>

class A

{

public:

A( ) {cout < <"1";}

~A( ) {cout < <"2";}

};

class B:public A

{

public:

B( ) {cout < <"3";}

~B( ) {cout < <"4";}

};

void main( )

{

B b;

}

A.1234

B.1324

C.1342

D.3142


正确答案:C
解析:本题考查的是在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。

第6题:

下面程序的运行结果是includeclass base{protected:int a;public:base( ){cout<<"0

下面程序的运行结果是 #include<iostream.h> class base{ protected: int a; public: base( ){cout<<"0";} }; class basel:virtual base { public: base1( ){cout<<"1";} }; class base2:virtual base{ public:

A.123

B.3120

C.312

D.3012


正确答案:A
解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。

第7题:

下面程序的运行结果是()。includeclass base{protected:int a;public:base(){cout<<

下面程序的运行结果是( )。 #include<iostream.h> class base{ protected: int a; public: base(){cout<<“0”;} }; Class basel:Virtual base{ public: basel(){cout<<“1”;} }; Class base2:virtual base{ public: base2(){cout<<“2”;)

A.0123

B.3120

C.0312

D.3012


正确答案:A
解析: 本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。

第8题:

下面程序的运行结果是 include class base{ protected: int a; public: base( ) {c

下面程序的运行结果是

#include<iostream.h>

class base{

protected:

int a;

public:

base( ) {cout < < "0";}

};

class base l: virtual base{

public:

base l ( ) {cout < <"1";}

};

class base 2: virtual base{

public:

base2 ( ) {cout < <"2";}

};

class derived: public base 1, public base2{

public:

derived( ) {cout < < "3";}

};

void main( )

{

derive obj;

cout < < endl;

}

A.0123

B.3120

C.0312

D.3012


正确答案:A
解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。

第9题:

下面程序的运行结果为 include Class Astatic int n; public: A( ) {n=1;} A(int n

下面程序的运行结果为

#include<iostream.h>

Class A

static int n;

public:

A( ) {n=1;}

A(int num) {n=num;}

void print( ) {cout < < n;}

};

int A: :n=2;

void main( )

{

A a,b(3) ;

a. print( ) ;

b. print( ) ;

cout < < endl;

}

A.11

B.13

C.23

D.33


正确答案:D
解析:本题考查的是静态数据成员的使用,n为类A的静态成员,即为类A的所有对象共有的成员,所以,当对象b把n初始化为3时,对象a的成员n的值也为3(这两个n实际上是同一个) 。