C++中的virtual函数在继承的类中需要实现
2009-01-28 21:31
225 查看
注意:C++中的virtual函数在继承的类中需要实现,如有些虚构函数是virtual,需要实现,不能~aa();这样只声明不实现。否则一般会出错:undefined reference to vtable for。
参考:链接器linker需要将虚函数表vtable 放入某个object file,但是linker无法找到正确的object文件。这个错误常见于刚刚创建一系列有继承关系的class的时候,这个时候很容易忘了给base class的virtual function加上函数实现。
解决办法:给基类的virtual函数加上本来就应该有的function body。
参考:链接器linker需要将虚函数表vtable 放入某个object file,但是linker无法找到正确的object文件。这个错误常见于刚刚创建一系列有继承关系的class的时候,这个时候很容易忘了给base class的virtual function加上函数实现。
解决办法:给基类的virtual函数加上本来就应该有的function body。
相关文章推荐
- C++学习总结_成员函数的声明和实现需要注意问题
- Effective C++ Item 36 绝不重新定义继承而来的 non-virtual 函数
- 晒晒C++:虚函数的真相(VC编译器如何实现“virtual ”规则)
- 晒晒C++:虚函数的真相(VC编译器如何实现“virtual ”规则)(转载的非原创)
- 深入理解C++对象模型-成员函数的本质以及虚函数的实现(非虚继承)
- 利用C++模板,代替虚函数实现类的静态多态性及动态继承
- C++ 类成员函数继承(virtual、非virtual)
- C++ 中不能被继承的类实现,及从中体现virtual 继承的一个特性
- Effective C++ Item 35 考虑 virtual 函数以外的实现
- 抱歉,没分了!!!请教linux下,用C/C++编程,如何知道我要实现某一功能需要用到什么函数
- 利用C++模板,代替虚函数实现类的静态多态性及动态继承
- C++中虚函数是如何实现,多重继承中虚函数的实现
- 晒晒C++:虚函数的真相(VC编译器如何实现“virtual ”规则)
- 晒晒C++:虚函数的真相(VC编译器如何实现“virtual ”规则)
- 利用C++模板,代替虚函数实现类的静态多态性及动态继承
- c++ 继承 函数重新实现
- 如何实现虚函数的规则(VC中 C++ virtual 编译规则)
- C++ - 通过私有(private)继承复用类实现工厂函数(factory function) 详解
- C++虚函数实现&&单继承和多继承下的虚函数布局
- 实现c++,java,lua 在c++编写后需要在 pkg 文件中添加新的函数 然后批处理下生成GamePlatformToLua