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

2020-08-07  本文已影响0人  艳过无声

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

上一篇 下一篇

猜你喜欢

热点阅读