若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。A.void fun(int a=90,double b=0.0);B.int fun(int a,double B);C.void fun(double a,int B);D.bool fun(int a,double b=0.0);

题目

若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。

A.void fun(int a=90,double b=0.0);

B.int fun(int a,double B);

C.void fun(double a,int B);

D.bool fun(int a,double b=0.0);


相似考题
更多“若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。A.voi ”相关问题
  • 第1题:

    设有以下函数:

    voidfun(intn,char}s){……}

    则下面对函数指针的定义和赋值均正确的是( )。

    A.void(*pf)(int,char);pf=&fun;

    B.void+pf( );pf=fun;

    C.void*pf( );*pf=fun;

    D.void(*pf)(int,char*);pf=fun;


    正确答案:D
    函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。

  • 第2题:

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

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

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

    C.int test(int,int,int=0);

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


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

  • 第3题:

    若主函数有变量定义:int x=1 ; double y=2.3 ; 且有合法的函数调用语句f (y , x); 则下列关于函数f的原型声明中一定错误的是 。

    A.void f(double, int);

    B.int f(int , int);

    C.int f(double, double);

    D.void f(double, int, int);


    void f(double, int, int);

  • 第4题:

    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是

    A.void fun(int a=90,double b=0.0);

    B.int fun(int a,double B) ;

    C.void fun(double a,intB) ;

    D.bool fun(int a,double b=0.0);


    正确答案:C

  • 第5题:

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

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

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

    C.int test(int ,int, int=0);

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


    正确答案:B