在其中一个 Microsoft 文档页面中给出了一些奇怪的示例,它由两个类组成,一个是基类,另一个是派生类。基类具有以下虚函数成员:
virtual void setEars(string type) // virtual function
{
_earType = type;
}
另一个在派生类中定义,如注释中所述,它重新定义了虚函数:
// virtual function redefined
void setEars(string length, string type)
{
_earLength = length;
_earType = type;
}
这两个有不同的签名,我从来没有听说过你是否真的可以用不同签名的函数重新定义一个虚函数。我编译了这个示例,可以找到这两者之间的任何压倒一切的行为。样品只是误导还是我遗漏了什么?