C++-Error:invalid new-expression of abstract class type
C++-Error:invalid new-expression of abstract class type
C++工程,使用new操作符,new一个抽象类对象时编译报错如下:
Error:invalid new-expression of abstract class type XXX
原因
派生的子类没有完全实现基类父类(接口)中的纯虚函数。
即父类中有函数未在子类中实现,纯虚函数全部需要实现,才能new子类。
实际情况
- 在子类中实现未实现的传虚函数。可以考虑用空函数体
{}
。 - 在实现纯虚函数时,漏掉了override。
- 函数写的太乱,纯虚函数夹在其他函数之间,漏掉了。
本文来自博客园,作者:Theseus‘Ship,转载请注明原文链接:https://www.cnblogs.com/yongchao/p/17307483.html