![]() |
1
2
我想你问的是特定语言的问题(C?)。选择最合适的重载取决于语言(注意:不重写!)给出了一个论点。这取决于 函数查找类型 它使用:静态(编译时)或动态(运行时)。
以防你的语言使用
静态绑定
,它可能会选择最具体的呼叫,在这种情况下,
将静态绑定到
如果语言使用 动态绑定 ,它可以根据参数的实际运行时类型选择被调用的函数。
一般来说,你可以
周围工作
不使用重载(这只是语法上的糖分)的问题是:区分
|
![]() |
2
4
不知道为什么要选择它(字面上可能是因为它在类声明中是第一个并与提供的参数匹配),但是
在这种情况下,函数是没有意义的,似乎是由于对多态性的误解。请尝试以下操作以了解原因:
有了以上内容,请致电
将产生输出
|
![]() |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
|
James Nguyen · Java多态性:为什么返回错误? 6 年前 |
|
Alex Cristea · 如何从另一个类的数组中打印特定行 6 年前 |
![]() |
juztcode · C语言中的静态和动态分辨率++ 6 年前 |
![]() |
Hugo · 具有多态关系的活动记录获取关联模型 6 年前 |
![]() |
pooya13 · 机器代码层上虚函数和条件执行的区别 6 年前 |
![]() |
Nisba · C中子类类型未知的模型类/子类++ 6 年前 |
![]() |
R zu · 使用多次调用的可替换方法初始化 6 年前 |