单选题 有如下程序:
#include<iostream>
using namespace std;
class A{
public:
virtual 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->func1();
p->func2();
delete p;
return 0;
}
执行这个程序的输出结果是______。
【正确答案】 C
【答案解析】[解析] 本题考查虚函数的使用。基类指针p指向派生类空间。funcl()有虚特性,“p->func1();”访问派生类的函数,输出"B1";func2()没有虚特性,“p->func2();”访问基类的函数,输出"A2"。最终输出结果为:B1A2。