更多“以下( )成员函数表示纯虚函数。A.virtual int fun(int)B.void fun(int)=0C.virtual void fun()=0 ”相关问题
  • 第1题:

    设有以下函数:

    void fun(int n,char*$s){……}

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

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

    B.void*Pf( );pf=fun;

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

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


    正确答案:A
    解析:函数指针的定义形式是:数据类型标识符(*指针变量名)( )。void(*pf)( )定义了一个没有返回值的函数指针pf,在给函数指针变量赋值时,只需给出函数名而不必给出参数。所以给pf赋值时,只把函数名fun赋给pf即可。所以正确答案为选项A)。

  • 第2题:

    下列表示纯虚函数的成员函数是( )。A.virtualintfunc(int); B.voidfunc(int)=0; SXB

    下列表示纯虚函数的成员函数是( )。

    A.virtualintfunc(int);

    B.voidfunc(int)=0;

    C.virtualvoidfunc=0;

    D.virtualvoidrune(int){}


    正确答案:C
    C。【解析】本题考查纯虚函数的定义形式。由于纯虚函数在最后要有“=0”,故据此排除A和D。而B中没有出现virtual关键词,故正确答案为C。

  • 第3题:

    若有以下说明和定义,则对fun函数的正确调用语句是() int main() { int (*a)(int*),*b(),w[10],c; : : return 0; } int fun(int *c) {...}

    A.a=fun; a(w);

    B.a=fun; (*a)(&c);

    C.b=fun; *b(w);

    D.fun(b);


    a=fun; (*a)(&c);

  • 第4题:

    设有以下函数:

    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选项正确。

  • 第5题:

    以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=&s;}

    B.main() { int *p; fun(&p); … } int fun(int **p) { int s; *p=&s;)

    C.#include main() { int *p; fun(&p); … } int fun(int **p) *p=(int*)malloc(2);}

    D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }


    正确答案:C
    解析:本题考核的知识点是指针变量作为函数的参数以及变量的作用域。在选项A中,main()函数中定义了一个指针变量p,调用fun()函数时把p传给形参p,在函数中让p指向局部变量s,由于函数调用返回后,局部变量s将被释放,因此无法实现让实参p指向一个整型单元,故选项A错误.选项B中实现的也是让实参p,指向一个在函数fun()定义的局部变量s,因此也是错误的;选项C在函数fun()中分配了两个字节的内存单元并把首地址赋值给形参p指向的变量,即main()函数的指针变量p中,由于整型变量占两个字节,因此,选项C是正确的;选项D在主函数中定义了一个指针地址变量p,并把指针变量的值传给形参变量p,在fun()函数分配了一个整型单元并把首地址赋值给行参指针变量p,由于C语言中变量作为参数是传值的,所以并没有改变对应实参指针变量的值,因此选项D也是错误的.所以,C选项为所选。

  • 第6题:

    3、若有以下说明和定义,则对fun函数的正确调用语句是() int main() { int (*a)(int*),*b(),w[10],c; : : return 0; } int fun(int *c) {...}

    A.a=fun; a(w);

    B.a=fun; (*a)(&c);

    C.b=fun; *b(w);

    D.fun(b);


    a=fun; (*a)(&c);