试分析函数的重载、函数的覆盖继承和虚函数三者之间的区别

学习 时间:2026-03-30 11:02:06 阅读:4154
试分析函数的重载、函数的覆盖继承和虚函数三者之间的区别急!

最佳回答

勤恳的黑猫

狂野的外套

2026-03-30 11:02:06

简单地说函数的重载只会发生在一个类中覆盖1。基函数必须是虚函数2。发生覆盖的两个函数要分别位于派生类与基类中3。函数名称与参数列表必须完全相同由于C++的多态性是通过虚函数来实现的,所以函数的覆盖总是和多态关联在一起C++多态性体现在虚函数中也就是说编译时无法确定类型,而在运行时根据实际的类型对象调用相应的函数 还有派生类的函数与基类的函数完全相同,只是基类的函数没有使用virtual关键字,此时基类的函数将被隐藏,而不是覆盖 派生类的函数与基类的函数同名,但参数列表不同,在这种情况下,不管基类的函数声明是否有virtual关键字,基类的函数都将被隐藏,注意这种情况与函数重载的区别

最新回答共有2条回答

  • 跳跃的外套
    回复
    2026-03-30 11:02:06

    简单地说函数的重载只会发生在一个类中覆盖1。基函数必须是虚函数2。发生覆盖的两个函数要分别位于派生类与基类中3。函数名称与参数列表必须完全相同由于C++的多态性是通过虚函数来实现的,所以函数的覆盖总是和多态关联在一起C++多态性体现在虚函数中也就是说编译时无法确定类型,而在运行时根据实际的类型对象调用相应的函数 还有派生类的函数与基类的函数完全相同,只是基类的函数没有使用virtual关键字,此时基类的函数将被隐藏,而不是覆盖 派生类的函数与基类的函数同名,但参数列表不同,在这种情况下,不管基类的函数声明是否有virtual关键字,基类的函数都将被隐藏,注意这种情况与函数重载的区别

上一篇 9+19+199+1999+19999 = = =

下一篇 人教版小学生四年级语文上册105页的小练笔怎么写范文急!