问题 单项选择题

一个函数为void f(int,char='a'),另一个函数为void f(int),则它们( )。

A.不能在同一程序中定义

B.可以在同一程序中定义并可重载

C.可以在同一程序中定义,但不可以重载

D.以上说法均不正确

答案

参考答案:C

解析: 只要满足参数不同的条件,就可以在同一程序中对同名的函数进行定义。但是由于其中一个函数有默认值,因此当程序中出现如下语句x=f(5)时,就会产生二义性,不能确定调用函数f(5)还是调用函数f(5,'a'),此时这两个函数不能重载。

单项选择题
多项选择题