指向派生类的基类指针或引用的作用 如 class A{} class B :public A {} A* b= new B;
1、当B类对象需要调用基类的与本类同名的成员函数时, 可以直接调用基类的成员函数。
2、是在多态中的应用。指向基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数。 基类的作用是有些功能派生类都有,有些功能派生类需要虚函数重新实现。
3、当A 、B类都有同名同参数列表同返回值的虚函数, 基类指针指向派生类对象, 积累指针调用此虚函数,调用的是派生类的虚函数。这也是函数的覆盖。
4、当基类指针指向的派生类对象是new出来的话(即动态分配出来), 基类析构需要声明为虚析构函数, 因为释放基类指针的时候需要先调用派生类的析构函数, 如果基类声明为虚析构函数,那么派生类析构会覆盖基类的析构,先进行调用, 然后在根据析构的顺序原则接着就执行基类的析构函数。