首页 > 试题广场 >

阅读该程序,给出程序的输出结果。

[问答题]

阅读该程序,给出程序的输出结果。

#include <iostream.h>

class B

{

public:

    virtual void fun1()

    {

        cout<<"B::fun1().\n";

    }

    virtual void fun2()

    {

        cout<<"B::fun2().\n";

    }

    void fun3()

    {

        cout<<"B::fun3().\n";

    }

    void fun4()

    {

        cout<<"B::fun4().\n";

    }

};

class D:public B

{

public:

    void fun1()

    {

        cout<<"D::fun1().\n";

    }

    void fun2()

    {

        cout<<"D::fun2().\n";

    }

    void fun3()

    {

        cout<<"D::fun3().\n";

    }

    void fun4()

    {

        cout<<"D::fun4().\n";

    }

};

void main()

{

    B *pb;

    D d;

    pb=&d;

    pb->fun1();

    pb->fun2();

    pb->fun3();

    pb->fun4();

}
基类指针指向派生类对象时,派生类会对基类的virtual函数重新编译;

D::fun1().
D::fun2().
B::fun3().
B::fun4().
发表于 2020-12-21 21:18:56 回复(0)