抽象类子类动态申请内存遇到的问题

类A含纯虚函数virtual fun() = 0;
子类B:public A 实现时fun(int a){};
子类C:public A 实现fun(double b){};
然后在使用时写B *p = new B();提示抽象类不能动态申请内存。
原因:B的fun不是对纯虚函数的实现,而是一个全新的函数,基类的fun仍然是纯虚的。要想实现重写,必须参数完全一致。

你可能感兴趣的:(抽象类子类动态申请内存遇到的问题)