对于一个基类和其派生类来说,想用基类型的指针调用派生类的成员变量或者成员函数。当一个基类有许多派生类的时候,你相对的就可以通过基类的指针实现不同派生类的调用。觉得有点像java的接口。
可以这样想,当你创建一个继承A的B类时,在内存上出现两块,一块里包含着属于A的成员变量和函数,这是由B继承过来的。同样,另一块里包含着属于B本身的成员变量和函数。所以类型A的指针可以实例化B。
即A* p1=new B()
而B* p2=new A()则是错误的。
在使用虚函数的条件下,p1->methon();使用的是B中的函数