如何调用与另一个成员函数同名的成员函数

How do I call a member function that has the same name as another?

本文关键字:函数 成员 另一个 何调用 调用      更新时间:2023-10-16

我需要在className类中具有相同名称"functionName"的成员函数。

className::functionName(BaseClass &object)
{
    //do something here with object
}
className::functionName(SecondBaseClass &object2)
{
    //do something here with object2
}

那么,如果我有两个同名的函数,我该如何调用我想要的函数呢?

称为函数重载。它根据参数的类型选择一个,但如果要传递的参数可以合理地转换为多个重载,则编译失败。

如果参数派生自这两个基类,请尝试以下操作来消除其歧义

functionName(static_cast<DesiredBase&>(myobject));