若已经声明了函数"int fun(int x,int y=0);",则下列重载函数声明中,正确的是

admin2015-07-22  22

问题 若已经声明了函数"int fun(int x,int y=0);",则下列重载函数声明中,正确的是

选项 A、double fun(const int x,int y);
B、int fun(int x);
C、int fun(int x);
D、int fun(int x,int y,int z);

答案D

解析 出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,称为重载函数。选项A中,仅当形参是引用或指针时,形参是否为const对重载才有影响,这里const对重载没有影响,另外函数不能仅仅基于不同的返回类型实现重载,A错误;选项B中,当调用函数fun(x)只带有一个实参时,两个函数都匹配,该调用具有二义性,B错误;选项C中形参列表只有默认参数不同,默认参数并不改变形参个数,C错误;选项D正确,形参列表中参数个数不同;答案为D。
转载请注明原文地址:https://kaotiyun.com/show/RNNp777K
0

最新回复(0)