类A含纯虚函数virtual fun() = 0;
子类B:public A 实现时fun(int a){};
子类C:public A 实现fun(double b){};
然后在使用时写B *p = new B();提示抽象类不能动态申请内存。
原因:B的fun不是对纯虚函数的实现,而是一个全新的函数,基类的fun仍然是纯虚的。要想实现重写,必须参数完全一致。
类A含纯虚函数virtual fun() = 0;
子类B:public A 实现时fun(int a){};
子类C:public A 实现fun(double b){};
然后在使用时写B *p = new B();提示抽象类不能动态申请内存。
原因:B的fun不是对纯虚函数的实现,而是一个全新的函数,基类的fun仍然是纯虚的。要想实现重写,必须参数完全一致。
本文标题:抽象类子类动态申请内存遇到的问题
本文链接:https://www.haomeiwen.com/subject/jmcfdktx.html
网友评论