C++语言程序设计

为了掌握函数的用法，我们再举两个函数应用的例子。第一个例子是关于有缺省参数的函数的用法：

| 例5-30

// 有缺省参数的函数
#include <iostream.h>
#include <iomanip.h>
void de_fun(int i=5, long j=40034, float x=10.25,
char ch='Z', double d=4.3234); // 函数原型

void main()
{
de_fun(); // 使用所有的缺省参数
de_fun(2); // 覆盖第一个缺省参数
de_fun(2, 75037); // 覆盖第一和第二个缺省参数
de_fun(2, 75037, 35.88); // 覆盖第一、第二和第三个缺省参数
de_fun(2, 75037, 35.88, 'G'); //覆盖第一、第二、第三和第四个缺省参数
de_fun(2, 75037, 35.88, 'G', .0023); // 未使用缺省参数
}

void de_fun(int i, long j, float x, char ch, double d)
{
cout << setprecision(4) << "i: " << i << " " << "j: " << j;
cout << " x: " << x << " " << "ch: " << ch;
cout << " d: " << d << "\n";
return;
}

上述程序的运行结果如下：
i: 5 j: 40034 x: 10.25 ch: Z d: 4.3234
i: 2 j: 40034 x: 10.25 ch: Z d: 4.3234
i: 2 j: 75037 x: 10.25 ch: Z d: 4.3234
i: 2 j: 75037 x: 35.88 ch: Z d: 4.3234
i: 2 j: 75037 x: 35.88 ch: G d: 4.3234
i: 2 j: 75037 x: 35.88 ch: G d: 0.0023
对de_fun()的每一次调用都产生了不同的结果，这是因为：在main函数中，每一次调用de_fun()均传送了不同的实参。