下面程序运行的结果是()。#include<iostream>using namespace std;class A{ protected:int a; pub

题目
下面程序运行的结果是()。includeusing namespace std;class A{ protected:int a; pub

下面程序运行的结果是( )。 #include<iostream> using namespace std; class A{ protected: int a; public: void input(int i) {a=i;} }; class B{ protected: int a; public: void input(int j) {a=j;} }; class C: public A, public B { int x; public: void input() {x=A::a * B::a;cout<<x<<endl;} }; void main() { C c; c.A::input(5); c.B::input(8); c.input(); }

A.5

B.8

C.40

D.编译出错

参考答案和解析
正确答案:C
解析:用成员名限定法来消除二义性,故答案为C。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

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

下面程序的运行结果是includevoid fun(int*a,int*b){int X= *a;* a= *b;*b=X;cout<

下面程序的运行结果是 #include<iostream,h> void fun(int*a,int*b) { int X= *a; * a= *b; *b=X; cout<< *a<< *b<<" "; void main() int x=1, y=2; fun(&x,&y); cout<<X<<y<<end1; }

A.12 12

B.12 21

C.21 12

D.21 11


正确答案:D
解析:本题考查的是指针和引用,函数fun完成把x和y互换的操作。

第3题:

下面程序的运行结果是 ______。 include void main() { char str[]="SSSWLIA",c; int

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

include<iostream.h>

void main()

{

char str[]="SSSWLIA",c;

int k;

for(k=2;(c=str[k]!='\0';k++)

{

switch(c)

{

case'I':++k;break;

case'l';continue;

default;c


正确答案:SWL*
SWL*

第4题:

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

第5题:

下面程序的输出结果是【】。include using namespace std; class base { protected: int

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

include <iostream>

using namespace std;

class base

{

protected:

int a;

public:

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

};

class basel: virtual public base

{

public:

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

};

class base2 : virtual public base

{

public:

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

};

class derived : public base1,public base2

{

public:

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

}

int main ()

{

derived obj;

cout<<end1;

return 0;

}


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

第6题:

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

第7题:

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

第8题:

下面程序的运行结果是 include void fun(int * a,int * b) { int x= * a; * a= *

下面程序的运行结果是

#include<iostream.h>

void fun(int * a,int * b)

{

int x= * a;

* a= * b; * b=X;

cout < < * a < < * b < <" ";

}

void main( )

{

int x=1,y=2;

fun(&x,&y) ;

cout < < X < < y < < endl;

}

A.12 12

B.12 21

C.21 12

D.21 21


正确答案:D
解析:本题考查的是指针和引用,函数 fun完成把x和y互换的操作。

第9题:

下面程序的运行结果是includevoid fun(int * a,int * b){ int x= * a; * a = * b;*

下面程序的运行结果是 #include<iostream.h> void fun(int * a,int * b) { int x= * a; * a = * b; * b=x; cout <<*a<< *b<<""; } void main( 0 { int x =1,y =2; fun(&x,&y); cout<< x << y <<end1; }

A.12 12

B.12 21

C.21 12

D.21 21


正确答案:D
解析:本题考查的是指针和引用,函数 fun完成把x和y互换的操作。