首页 > 试题广场 >

指出下面每个目标是否可以使用默认参数或函数重载完成,或者这两

[问答题]
指出下面每个目标是否可以使用默认参数或函数重载完成,或者这两种方法都无法完成,并提供合适的原型。
a.mass(density,volume)返回密度为density、体积volume的物体的质量,而mass(density)返回密度为density、体积为1.0立方米的物体的质量。这些值的类型都为double。
b.repeat(10,“I‘m OK”)将指定的字符串显示10次,而repeat(“But you‘re kind of stupid’”)将指定的字符串显示5次。
c.average(3,6)返回两个int参数的平均值(int 类型),而average(3.0,6.0)返回两个double值的平均值(double类型)。
d.mangle(“I‘m glad to meet you”)根据是将值献赋给char变量还是char*变量,分别返回字符1和指向字符串“I‘m mad to gleet you”的指针。
a.通过为第二个参数提供默认值:
double mass(double d,double v = 1.0);
也可以通过函数重载:
double mass(double d,double v);
double mass(double d);
b.不能为重复的值使用默认值,因为必须从右到左提供默认值。可以使用重载:
void repeat (int times,const char * str);
void repeat (const char * str);
c.可以使用函数重载:
int average (int a,int b);
double average(double x,double y);
d.不能这样做,因为两个版本的特征标将相同。
发表于 2017-12-27 20:23:28 回复(0)