单选题
有如下程序: #include<iostream> using namespace std; class Base{ public: virtual void function1() {tout<<'0';} void function2(){cout<<'1';} }; class Derived:public Base{ public: void function1(){tout<<'2';} void function2(){cout<<'3';} }; int main(){ Base*p=new Derived(); p->function1(); p->function2(); return 0; }; 运行时的输出结果是( )。
【正确答案】
B
【答案解析】解析:函数function1()在基类Base中定义为虚成员函数,而在派生类Dervied中重新进行了定义,输出字符2,函数function2()在基类Base中定义虚成员函数,在主函数中使用指向基类的指针变量p访问function2()时,输出1。