作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 03:28:01
试分析函数的重载、函数的覆盖继承和虚函数三者之间的区别
急!
简单地说函数的重载只会发生在一个类中
覆盖
1.基函数必须是虚函数
2.发生覆盖的两个函数要分别位于派生类与基类中
3.函数名称与参数列表必须完全相同
由于C++的多态性是通过虚函数来实现的,所以函数的覆盖总是和多态关联在一起
C++多态性体现在虚函数中也就是说编译时无法确定类型,而在运行时根据实际的类型对象调用相应的函数
还有派生类的函数与基类的函数完全相同,只是基类的函数没有使用virtual关键字,此时基类的函数将被隐藏,而不是覆盖
派生类的函数与基类的函数同名,但参数列表不同,在这种情况下,不管基类的函数声明是否有virtual关键字,基类的函数都将被隐藏,注意这种情况与函数重载的区别