万能百科  > 所属分类  > 

有如下程序:#include<iostrealn>using namespace stdclass A{public:virtual void f(

有如下程序:

#include<iostrealn>

using namespace std

class A{

public:

virtual void f(){cout<<1;}

void g(){cout<<2;}

};

class B:public A{

public:

virtual void f(){cout<<3;}

void g(){cout<<4;)

};

void show(A&A){a.f();a.g();}

int main(){

B b;

show(B);

return 0;

}

运行时的输出结果是

A.12

B.34

C.14

D.32

正确答案:

D解析:函数f( )是虚函数,函数g( )不是虚函数,因此当指向派生类的指针调用基类的对象时,会调用派生类的虚函数f( ),但还是会调用基类的成员函数g( ),因此会输出32。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签