C++中的virtual函数在继承的类中需要实现

注意:C++中的virtual函数在继承的类中需要实现,如有些虚构函数是virtual,需要实现,不能~aa();这样只声明不实现。否则一般会出错:undefined reference to vtable for。

参考:链接器linker需要将虚函数表vtable 放入某个object file,但是linker无法找到正确的object文件。这个错误常见于刚刚创建一系列有继承关系的class的时候,这个时候很容易忘了给base class的virtual function加上函数实现。

解决办法:给基类的virtual函数加上本来就应该有的function body。

你可能感兴趣的:(C++,function,object,Class,reference,linker)