首页 > 试题广场 >

下列关于多态性说法不正确的是:

[不定项选择题]
下列关于多态性说法不正确的是:
  • 重载函数名相同,但是参数列表个数和顺序,参数类型,以及返回类型一定不同
  • 重载 overload 和 重写 override 是一个意思
  • 多态行有静态和动态多态两种
  • c++中 final 关键字表示函数不能再次被override
发表于 2020-08-26 19:22:56 回复(0)
a选项
C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同
b选项
1.函数的重载
C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同。
两个重载函数必须在下列一个或两个方面有所区别:
1、函数的参数个数不同。
2、函数的参数类型不同或者参数类型顺序不同,
C++的这种编程机制给编程者极大的方便,不需要为功能相似、参数不同的函数选用不同的函数名,也增强了程序的可读性。
2.函数的重写
多态中提到的,一般父类函数中有虚函数,虚函数包含虚函数指针,指向虚函数表。在子类继承父类时,会一同把虚函数继承下来,同时也会把虚函数指针以及指针指向的虚函数表继承下来,如果在子类中对父类中的虚函数重写一遍,函数表中的内容就会被子类覆盖。
重写只有函数体内的语句不同,其他都一样。
c选项
模板和虚函数都能实现多态,那么这两者到底有什么区别呢?模板实现属于静态多态,而虚函数实现属于动态多态,静态多态是在编译时完成的,动态多态是在程序运行时完成的。
d选项
final用来修饰类,让该类不能被继承,理解:使得该类终结!
final用来修饰类的虚函数,使得该虚函数在子类中,不能被重写,理解:使得该功能终结!


编辑于 2022-05-20 09:15:10 回复(0)
错误的!
发表于 2022-04-13 12:03:02 回复(0)
重指函数,,,
发表于 2020-12-28 08:35:14 回复(0)
A项对于函数的重载,函数的返回值类型不是不能作为判断是否重载的条件吗?
发表于 2021-04-13 20:40:53 回复(1)
<p>A是哪里错了,静态重载不就是这样吗?</p><p><br></p>
发表于 2020-12-01 14:44:23 回复(3)