设函数fun()是一个不属于任何类的普通函数,则在调用该函数时只能用fun()方式,而不能用::fun()方式来调用。
第1题:
设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【13】。要求形参名为b。
main()
{double s[10][22];
int n; ┆
┆
fun(s);
┆
}
第2题:
请将下列类定义补充完整。
class Base{public:void fun(){tout<<"Base::fun"<<endl;}};
class Derived:public Base
{
public:
void fun()
{
______//显示调用基类的fun函数
cout<<"Derived::fun"<<endl;
};
第3题:
此题为判断题(对,错)。
第4题:
设在主函数中有以下定义和函数调用语句,且fun()函数为void类型,请写出fun()函数的首部______。
int main()
{
double s[10][22];
int n:
...
fun (s):
...
return 0;
}
第5题:
请将下列类定义补充完整。
class Base{public:void fun(){cout<<"Base::fun"<<end;}};
class Derived:public Base
{
public:
void fun()
{
【 】//显式调用基类的fun函数
cout<<"Derived::fun"<<endl;
}
};
第6题:
设函数fun的定义形式为: void fun(char ch,float x){ } 则以下对函数fun的调用语句中,正确的是 ______。
A.fun ("abc",3.0);
B.t=fun('D',16.5);
C.fun('65',2,8);
D.fun(32,32);
第7题:
对下列程序段的描述正确的是( )。 #include<iostream.h> int Fun(int,int) void main() { cout<<Fun(5,50)<<endl; } int Fun(int x,int y) { return X*X+y*y; }
A.该函数定义正确,但函数调用方式错误
B.该函数调用方式正确,但函数定义错误
C.该函数定义和调用方式都正确
D.该函数定义和调用方式都错误
第8题:
● 函数fun1()、fun2()的定义如下所示,已知调用fun1 时传递给形参x的值是-5,若以引用调用(call by reference)的方式调用fun2,则函数fun1的返回值为 (33) ;若以值调用(call by value)的方式调用fun2,则函数fun1的返回值为 (34) 。
fun1(int x) fun2(int x) int a=x-1;
x = fun2(a);
return a-x; x=x+10;
return 3*x;
(33)A. -18 B. -11 C. -8 D. 0
(34)A. -18 B. -11 C. -8 D. 0
答案:A、C
值调用时,原传递参数值不会被修改!
如果是值传递:那么对于fun1中:a=x-1=-6;x=fun2(a)=fun2(-6);那么在fun2中,x=x+10=-6+10=4,返回3*x=12;这时原参数a=-6并不会被修改,也就是说a的值还是-6;这时,a-x=-6-12=-18;
对于引用调用,在fun2中执行语句x=x+10=-6+10=4时,这时a的值也被修改,变为4,所以返回到fun1中执行a-x时应该为a-x=4-12=-8。
第9题:
设函数fun的定义形式为: vold fun (char ch, float x){……} 则以下对函数fun的调用语句中,正确的是( )。
A.fun("abc",3.0);
B.t=fun('D',16.5);
C.fun('65',2.8);
D.fun(32,32);
第10题:
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。
A.(*p)fun(x,y);
B.*pfun(x,y);
C.(*p)(x,y)
D.*p(x,y)