问题详情

已知程序中已经定义了函数test,其原型是int test(int,int,int);,则下列重载形式中正确的是


A、char test (int,int,int);

B、double test(int,int,double);

C、int test(int,int,int=O);

D、float test(int,int,float=3.5F);

时间:2021-12-31 19:56 关键词:

答案解析

B
解析:本题考核函数重载。所谓函数重载,是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数仲,这些函数的名字相同,但是函数的参数的类型不同。这就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。不可以根据函数返回值类型来重载函数。A选项中定义只是函数的返回类型不同,不符合重载的条件,C选项也不符合。对于D选项,形参列表中带有默认参数,如果原型的最后一个也带有默认参数,则会造成不知道该调用哪个函数的错误。