1. undefined reference to “vtable for xxx”
原因分析:
通过查看代码发现基类中存在虚函数只有定义没有实现。
解决方法:
将基类中的虚函数进行实现,或将其定义为纯虚函数。
2. cannot allocate an object of abstract type“xxx”
原因分析:
通过查看代码发现C++程序在创建一个类的对象时报错:Cannot allocate an object of abstract type“XXX”
原因是对象类继承自一个基类,该基类中的函数存在纯虚函数,而对象类中没有重载全部纯虚函数。
解决方法:
在基类中声明的虚函数,在派生类中必须继承并实现。这样在new一个派生类时才不会报该错误。
将基类中所有虚函数,在派生类中都一一继承、实现。