Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/9 22:38:04 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个参数)却有默认值了,这是不允许的。
赞