分析以下的声明的正确性:void f1(float a,int b=0,int c,char d=‘a’);void f1(float a, int c, int b=0,char d=‘a’);
举一反三
- void f(int a,char b,float c=1)与void f(int m,char n)互为重载函数。 A: 正确 B: 错误
- 中国大学MOOC: void f(int a,char b,float c=1)与void f(int m,char n)互为重载函数。
- 下面正确的函数重载是________。 A: int F1(float f1) { return 0; } float F1(float f1) { return 0; } B: int F1(int i1) { return 0; } float F1(int i1 = 5) { return 0; } C: int F1(const float *p1) { return 0; } float F1(float const *const p1) { return 0; } D: int F1(int p1) { return 0; } int F1(int *p1) { return 0; }
- 以下哪组函数能正确重载,函数调用不会产生二义性()。 A: swap( int*, int*); void swap(int*, int*); B: void fun(char); void fun(char, char=’0’); C: int fun(int* p, int n); float fun(int a[], int&m); D: void fun(char*, int, double); void fun(char[], int);
- 以下局部变量声明中正确的是( )。 A: int a,b=a=0; B: int char=2; C: void a=0; D: int a=b=0;