有下列程序: #inClude<iostream> using namespace std; c1ass A{ pubic: virmal void func1(){cout<<"A1";} vo

admin2010-12-16  18

问题 有下列程序:      #inClude<iostream>      using namespace std;      c1ass A{      pubic:      virmal void func1(){cout<<"A1";}      void func2(){cout<<"A2";}      };      c1ass B:public A{      publIc:      void func1(){cout<<"B1";}      void func2(){cout<<"B2"

选项 A、B182     
B、A1A2
C、B1A2     
D、A182

答案C

解析  程序中B为A的派生类,由主函数入手,主函数中定义了类A的指针p指向类B。根据基类中的“virtual void func1()”知道A中的func1为虚函数,执行“p->func1();”语句,通过指针变量调用此虚函数,此时调用的就是指针变量指向的同名函数,即派生类的func1函数,输出B1。而fun2不是虚函数,所以执行“p->func2();”输出为A2。
转载请注明原文地址:https://jikaoti.com/ti/gTL0FFFM
0

最新回复(0)