????C++?????????????У?????????????????????壬?????????????????????????
??????????????????????з??????????????????????????????????????
????????????????????????????壺
????????????????????????????????????????????????
????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????
???????????????????????????麯????????????????麯???????????????????????????
???????????????н????
1 class A
2 {
3 public:
4     /*virtual*/ void func(){ std::cout << "A::func() "; }
5 };
6 class B : public A
7 {
8 public:
9     void func(){ std::cout << "B::func() "; }
10 };
11 class C : public A
12 {
13 public:
14     void func(){ std::cout << "C::func() "; }
15 };
??????????????????????????
????1 C* pc = new C(); //pc??????????????????????C*????????????C*??
????2 B* pb = new B(); //pb????????????????????B*??
????3 A* pa = pc;      //pa??????????????????????A*???????????pa?????????pc??????C*??
????4 pa = pb;         //pa???????????????????????????????B*?????侲?????????????????A*??
????5 C *pnull = NULL; //pnull??????????????????????C*????ж?????????????????NULL??
???????????????????????????????
????1 pa->func();      //A::func() pa???????????????A*???????????????????????????????A::func()??
????2 pc->func();      //C::func() pc???????????????C*????????C::func()??
????3 pnull->func();   //C::func() ??????????????????????ú??????????????????????????????????????