正在加载图片...
第5单元函数 将使用该值;否则参数使用其缺省值。例如,某函数的声明为 double func( double x, double y, int n = 1000) 则其参数n带有缺省参数值。如果以 a= func(b, c) 的方式调用该函数,则参数n取其缺省值1000,而如果以 a func(b, c, 2000) 的方式调用该函数,则参数n的值为2000 使用带有缺省参数的函数时应注意: 1.所有的缺省参数均须放在参数表的最后。如果一个函数有两个以上缺省参数,则在 调用时可省略从后向前的连续若干个参数值。例如对于函数 void func(int x, int nl=l, int n2= 2) 若使用func(5,4);的方式调用该函数,则nl的值为4,n2的值为2 2.缺省参数的声明必须出现在函数调用之前。这就是说,如果存在函数原型,则参数 的缺省值应在函数原型中指定,否则在函数定义中指定。另外,如果函数原型中已 给出了参数的缺省值,则在函数定义中不得重复指定,即使所指定的缺省值完全相 同也不行 57函数重载 在C++的函数库中,有4个功能相似的函数 int double fabs(double) 这些函数的原型均在头文件 math. h中声明,其功能依次为求整型量、双精度实型量和 长整型量的绝对值。同是求某数的绝对值,要用不同的函数实现,不但增加了程序员的记忆 难度,也增加了出错的可能性。能否将求绝对值的方法看成是一个通用的方法,用同一函数 形式调用呢?C++中的函数重载可以满足这一要求。 所谓函数重载,即若干参数和返回值不同的函数共用一个函数名。 例5-5重载绝对值函数 程序: ∥/ Example5-5:重载绝对值函数 #include < iostream. h> int abs (int x) return x>0%x: -x第 5 单元 函数 - 94 - 将使用该值;否则参数使用其缺省值。例如,某函数的声明为: double func(double x,double y,int n = 1000); 则其参数 n 带有缺省参数值。如果以 a = func(b,c) 的方式调用该函数,则参数 n 取其缺省值 1000,而如果以 a = func(b,c,2000); 的方式调用该函数,则参数 n 的值为 2000。 使用带有缺省参数的函数时应注意: 1.所有的缺省参数均须放在参数表的最后。如果一个函数有两个以上缺省参数,则在 调用时可省略从后向前的连续若干个参数值。例如对于函数 void func(int x,int n1 = 1,int n2 = 2); 若使用 func(5,4);的方式调用该函数,则 n1 的值为 4,n2 的值为 2。 2.缺省参数的声明必须出现在函数调用之前。这就是说,如果存在函数原型,则参数 的缺省值应在函数原型中指定,否则在函数定义中指定。另外,如果函数原型中已 给出了参数的缺省值,则在函数定义中不得重复指定,即使所指定的缺省值完全相 同也不行。 5.7 函数重载 在 C++的函数库中,有 4 个功能相似的函数: int abs(int); double fabs(double); 1ong labs(1ong); 这些函数的原型均在头文件 math.h 中声明,其功能依次为求整型量、双精度实型量和 长整型量的绝对值。同是求某数的绝对值,要用不同的函数实现,不但增加了程序员的记忆 难度,也增加了出错的可能性。能否将求绝对值的方法看成是一个通用的方法,用同一函数 形式调用呢?C++中的函数重载可以满足这一要求。 所谓函数重载,即若干参数和返回值不同的函数共用一个函数名。 [例 5-5] 重载绝对值函数。 程 序: // Example 5-5:重载绝对值函数 #include <iostream.h> int abs(int x) { return x>0?x:-x; }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有