Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:38:04
Visual C++ 6.0教程:函数中的默认参数

Visual C++ 6.0教程:函数中的默认参数

默认参数

对每一个函数原型或定义中声明的变量,调用函数都需要为其传递一个值,这个值必须与声明的变量类型相符。也就是说,如果声明这样一个函数:

long myFunction(int)

{

……

}


这个函数事实上要对一个整型变量进行操作。如果函数定义与此不符,或者你未能向其传送一个整数,那么就会出现编译错误。

long returnvalue=myFunction(); //编译时出错,myFunction函数需要一个参数

如果函数原型声明了一个参数默认值,就不会出现上面的错误了。

本教程来自网站源代码http://www.isstudy.com 如果转载,请注明出处。

long myFunction(int number1=1)

{

……

}


如果原调用函数中不包含参数,系统会自动将1作为参数传递给函数。

请看下面的例子:根据公式“体积=长×宽×高”求立方体的体积。

#include "iostream.h"

int Bulk(int length,int width=1,int height=1)

{

int nbulk=length*width*height;

return nbulk;

}

int main()

{

int bulk1=Bulk(10); //缺省width和height,等同于Bulk(10,1,1)

cout<<"bulk1= "<
int bulk2=Bulk(10,20); //缺省height,等同于Bulk(10,20,1)

cout<<"bulk2= "<
int bulk3=Bulk(10,20,30); //不缺省

cout<<"bulk3= "<
}


运行结果如图1所示。



图1 运行结果

需要注意的是,只有当最后一个参数有默认值时,才允许倒数第2个参数有默认值。

以上面的例子为例,当height有默认值时,才允许width有默认值。如果:

int Bulk(int length,int width=1,int height)

{

……

}


编译器就会出错,因为height(第3个参数)没有默认值,而width(第2个参数)却有默认值了,这是不允许的。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759