class B{
public:
void mf();
...
};
class D:public B{
public:
void mf(); //遮掩了B:mf()
...
};
D x;
B* pB=&x;
D* pD=&x;
pB->mf(); //调用B::mf()
pD->mf();//调用D::mf()
non-virtual函数B::mf与D::mf皆statically bound,声明处为准。
virtual函数是dynamically bound.