我需要两个具有相同名称的成员函数" functionName"在className类中。像这样......
className::functionName(BaseClass &object)
{
//do something here with object
}
className::functionName(SecondBaseClass &object2)
{
//do something here with object2
}
所以,如果我有两个同名的函数,我该如何调用我想要的函数?
答案 0 :(得分:1)
这称为函数重载。它根据参数的类型选择一个,但如果要传递的参数可以合理地转换为多个重载,它将无法编译。
如果您的参数是从两个基类派生的,请尝试以下方法消除歧义
functionName(static_cast<DesiredBase&>(myobject));