当派生类指针可以直接指向派生对象时,指向派生对象的基类指针有什么用?

时间:2019-07-09 03:56:31

标签: c++

如果我可以通过派生类对象访问所有方法,为什么我需要Base *来派生类。除了运行时多态以外,还可以使用Base *。

#include <iostream>
using namespace std;

class B {
public:
  virtual void fn1(void) {cout << "class B : fn  one \n"; }
};

class D: public B {
public:
    void fn1(void) {cout << "class D : fn one \n"; }

};

int main(void)
{
    B *p = new D;
    p->fn1();
}

我可以通过派生类对象调用fn1(),然后为什么要使用Base *。

0 个答案:

没有答案