选择题   有如下程序:
    #inClude<iostream>
    using namespace std;
    Class TestClass
    {public:
    virtUal void furll()
    {cout<<'funlTestclass';}
    virtual void fun2()
    {cout<<'{fun2TestClass';}};
    class TestClassl:public TestClass
    {void fun()
    {cout<<'funlTestClass1';}};
    int main()
    {TestClass obj1,*p;
    TestClassl obj2;
    p=&obj2;
    p->fun1();
    p-)fun2();
    return 0;}
    该程序执行后的输出结果是   
 
【正确答案】 A
【答案解析】TestClass为基类,TestClass1是TestClass的派生类。基类中的fun1和fun2枚定义为虚函数,C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数,所以派生类中的fun1和fun2也是虚函数。本题从main主函数入手,首先定义了TestClass类型的对象obj1和指针p,然后又定义了TestClas1钓对象obj2。指针指向对象obj2,然后调用其成员函数fun1(),即输出“funlTestClass1”。