c++ - 您是否必须虚拟化包装器功能?
问题描述
假设我有一个 BST 类和一个子类 RBT。BST 类有一个包装函数,如下所示:
void BST::walk(ostream& to)
{
inorder_walk(root, to);
}
inorder_walk
虚函数在哪里。当我在我的 RBT 类中有一个新的虚拟化inorder_walk
函数时,我是否也需要制作walk
virtual ,即使在这两个类中都walk
需要做的是 call inorder_walk
?也就是说,虽然该walk
函数不是虚拟的,但当它在其中调用一个虚拟函数时,C++ 是否知道调用虚拟化函数?提前感谢您的回答!
解决方案
不,您不需要将其设为虚拟。
推荐阅读
- angular - 除了 [formControl] 之外,我什么时候需要 Angular 响应式表单的任何其他指令?
- reactjs - 在打印之前和之后更改状态以仅在打印时显示
- reactjs - 如何为列表的每一项添加独立的加载状态?
- rust - 无法从匹配臂返回对成员的可变引用
- debugging - 无法在 x64dbg 中修改程序集
- azure - Azure WebApp for Containers 中的日志记录方法
- web-scraping - 属性错误:“NoneType”对象没有属性“find_all”
- python-3.x - 我想混合 4 个音频文件并将最终混合的音频文件添加到 moviepy 中的视频中。那可能吗?
- highcharts - customEvents.js 和 H.removeEvents 冲突
- android - 如何确保 UI 布局适合 Unity 中每个受支持的设备?