????????????
A::fA()
B::vfA()
A::emptyB()
A::vfAonly()
A::fA()
B::fB()
B::vfA()
B::vfB()
B::emptyA()
A::emptyB()
B::vfAonly()

??????????
????????????????????????????????н????????????????????????б?????Щ??????????е??
??????1. ??????????У?p??????????A?????????????B?????????κ????????????????p->fA()????????????A??????????fA??????????????????????
??????2. ??????????????????????A?????????????fB??????????????????????????????????
??????3. ???????????A?????????vfA??????????????????????virtual?????????????????????????????????????vfA???????????????????????????и??????????????????????????????????????????????????????????????????????????????????????Ч???????????????p??????B?????????????B????????vfA().
??????4. ??????????????????????A??????????????vfB????????????????????????????????????????????p????B???????
??????5. ?4???????????emptyA??
??????6. ???????????emptyB.
??????7. ???????????vfAonly??
??????8. ???????????????B??????r???á???????????У?r??????????B???????????????r??A???κι???????????У????????B???????????fA??????B?????A??????????A??public???????壬????????????A::fA??
??????9. ??????8?????B????????????fB??
??????10. ??????3????????????????????????????????????????????????????B::vfA.
??????11. ??????????????????????????????????????????????????B::vfB.
??????12. ???????????emptyA.
??????13. ???????????A::emptyB. ???B?????A??
??????14. ??????????????????????????????????????????????????B::vfAonly. ??????????????????B????????vfAonly??????A????????????????????????????????????????й??
??????????????????????л???????????????????е??????????????????????????????????????????A::vfAonly??