刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

在面向对象程序设计语言C++/Java的系统实现中,已定义类S及其子类D,且类S中已定义虚方法int fun(int a,int b)。请问哪个选项中的方法不能在类S中定义,且这种现象称为何?

A
int fun(int x,double y)

B
 int fun(double a,int b)   

C
double fun(int x,double y)
D
int fun(int x,int y)  
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

:在面向对象编程中,同一类内不能定义两个名称相同、参数个数和类型都相同的函数,这会导致重复定义。然而,在类的继承层次结构中,不同的层次可以定义名字相同、参数个数和类型相同的函数,只要它们在功能上有区别。虚函数允许在派生类中重新定义与基类同名的函数,并通过基类指针或引用来访问。对于题目中的情况,选项D试图在类S及其子类D中定义两个参数类型和个数完全相同的int fun(int a,int b)方法,这是不允许的。而选项A、B和C都涉及到了不同的参数类型,这是允许的,因为它们构成了函数的重载。所以,选项D是不能在类S中定义的。

创作类型:
原创

本文链接:在面向对象程序设计语言C++/Java的系统实现中,已定义类S及其子类D,且类S中已定义虚方法int

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share