计算机二级

下面程序的结果是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){} void showa(){cout<<a;} }; class C:public A,public B { int a;

题目
下面程序的结果是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){} void showa(){cout<<a;} }; class C:public A,public B { int a; public: C():a(3) ㈠ voidshowa(){cout<<a;} }; voidmain() { C c; c.showa(); }

A.1

B.2

C.3

D.程序有错误

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

第1题:

下面程序的结果是()。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){} void showa(){cout<<a;} ); class C:public A,public B { int a; pu

A.1

B.2

C.3

D.程序有错误


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

第2题:

下面程序的结果是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()的值。

第3题:

下面程序的运行结果是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
解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。

第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 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) {} void showa( ) {cout < < a;} }; class C: public A, public B { t a; public: C( ) :a(3) {} void showa( ) {cout < < a;} }; void main( ) { C c; c.showa( ) ; }

A.1

B.2

C.3

D.程序有错误


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

第6题:

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

下面程序的结果是 #include<iostream.h> class A { public: A( ) {cout<<"construtA"<<endl;} virtual~A( ) {cout<<"destructA"<<endl;}}; class B:public A {}; class C:public A {}; c

A.constructA destructA

B.constructA constructA destructA destructA

C.constructA constructA constructA destructA destructA destructA

D.constructA onstructA constructA constructA destructA destructA destructA destructA


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

第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 include class Rect { public: Rec

下面程序运行时输出结果为【 】。

include<iostream.h>

include<malloc.h>

class Rect

{

public:

Rect(int1,int w)(length=1;width=w;)

void Print(){cout<<"Area:"<<length *width<<endl;)

void *operator new(size-t size){return malloc(size);}

void operator delete(void *p){free(p)

private:

int length,width;

};

void main()

{

Rect*p;

p=new Rect(5,4);

p->Print();

delete p;

}


正确答案:Area:20
Area:20

第9题:

下列程序的运行结果是【 】。 include class SomeClass { public: SomeClass(int va

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

include <iostream. h>

class SomeClass

{

public:

SomeClass(int value) { some_value=value;};

void show_data(void) { cout<<data<<"<<~some_value<<endl; };

static void set_data(int value) {data=value; }

private:

static int data;

int some_value

};

int SomeClass::data

void main(void)

{

SomeClass my_class(1001),your_class(2002);

your_class. set_data(4004);

my_elass. show_data()

}


正确答案:4004 1001
4004 1001 解析:本题考查静态成员变量在不同对象间的共享现象。无论哪个对象修改了其静态变量的值,其他对象再访问该变量时已经发生了变化。