首页 > 解决方案 > 您是否必须虚拟化包装器功能?

问题描述

假设我有一个 BST 类和一个子类 RBT。BST 类有一个包装函数,如下所示:

void BST::walk(ostream& to)
{
    inorder_walk(root, to);
}

inorder_walk虚函数在哪里。当我在我的 RBT 类中有一个新的虚拟化inorder_walk函数时,我是否也需要制作walkvirtual ,即使在这两个类中都walk需要做的是 call inorder_walk?也就是说,虽然该walk函数不是虚拟的,但当它在其中调用一个虚拟函数时,C++ 是否知道调用虚拟化函数?提前感谢您的回答!

标签: c++classwrappervirtual

解决方案


不,您不需要将其设为虚拟。


推荐阅读