输出以下程序的结果,理解多态性

#include
using namespace std;
class A
{
private:
int nVal;
public:
void Fun()
{cout<<"A::Fun"<<endl;}
virtual void Do()
{cout<<"A::Do"<<endl;}
};
class B:public A
{
public:
virtual void Do()
{cout<<"B::Do"<<endl;}
};
class C:public B
{
public:
void Do()
{cout<<"C::Do"<<endl;}
void Fun()
{cout<<"C::Fun"<<endl;}
};
void Call(
//补充代码
)
{
p->Fun();p->Do();
}
int main()
{
Call(new A());
Call(new C());
return 0;
}

写好了,希望采纳

#include <iostream>
using namespace std;

class A
{
private:
    int nVal;
public:
    void Fun()
    {
        cout<<"A::Fun"<<endl;
    }
    
    virtual void Do()
    {
        cout<<"A::Do"<<endl;
    }
};

class B:public A
{
public:
    void Do()
    {
        cout<<"B::Do"<<endl;
    }
};

class C:public B
{
public:
    void Do()
    {
        cout<<"C::Do"<<endl;
    }
    
    void Fun()
    {
        cout<<"C::Fun"<<endl;
    }
};

void Call(A* p)
{
    p->Fun();
    p->Do();
}

int main()
{
    Call(new A());
    Call(new C());
    
    
    return 0;
}

运行结果如下

img