选择题   有如下程序:
    #include<iostream>
    using namespace std;
    class A{
    public:
    virtua1 void func1(){cout<<'A1';}
    void func2(){cout<<'A2';}};
    class B: public A{
    public:
    void func1()(cout<<'B1';}
    void func2(){cout<<'B2';)};
    int main(){
    A*p=new B;
    p->funcl();
    p->func2();
    return 0;}
    执行该程序,屏幕上将显示输出______。
 
【正确答案】 C
【答案解析】程序中B为A的派生类,由主函数入手,主函数中定义了类A的指针p指向类B。根据基类中的“virtual void func1()”知道A中的func1为虚函数,执行“p->funci();”语句,通过指针变量调用此虚函数,此时调用的就是指针变量指向的同名函数,即派生类的func1函数,输出B1。而fun2不是虚函数,所以执行“p->func2();”输出为A2。