假设我们有:
class Base
{
virtual void f() {g();};
virtual void g(){//Do some Base related code;}
};
class Derived : public Base
{
virtual void f(){Base::f();} override;
virtual void g(){/*Do some Derived related code*/} override;
};
int main()
{
Base *pBase = new Derived;
pBase->f();
return 0;
}
Base::g()
或Derived::g()
会被调用,这取决于Base
和Derived
类中的实现。
谢谢...