c++编译器在编译过程中,遇到函数调用,首先会查询当前类似否有该函数名,如果没有则查询直接父类,如果直接父类没有,则继续向上查询,如果都没有,则调用错误。查询到名称之后会检查参数列表,参数列表正确之后函数调用成功,如果是虚函数,则编译器生成动态绑定的代码,如果不是虚函数,则直接生成调用函数的代码。
另外,虚函数的形参列表和返回值必须都相同,参数不相同但名称相同的函数不是同一个虚函数,无法动态绑定。
c++编译器在编译过程中,遇到函数调用,首先会查询当前类似否有该函数名,如果没有则查询直接父类,如果直接父类没有,则继续向上查询,如果都没有,则调用错误。查询到名称之后会检查参数列表,参数列表正确之后函数调用成功,如果是虚函数,则编译器生成动态绑定的代码,如果不是虚函数,则直接生成调用函数的代码。
另外,虚函数的形参列表和返回值必须都相同,参数不相同但名称相同的函数不是同一个虚函数,无法动态绑定。