默认参数是一个自动使用的值,如果从函数调用中省略相应的实际参数。
例如,如果在my_func(int n)n中的默认值为1,则调用my_func()的函数与my_func(1)相同。
要建立默认值,请使用函数原型。
编译器查看原型以查看函数使用多少个参数。
以下原型使用默认参数创建一个函数。
char * left(const char * str, int n = 1);
上面的函数返回一个char指针。
要使原始字符串不变,使用第一个参数的const限定符。
您希望n的默认值为1,因此您将该值赋值给n。
默认参数值是一个初始化值。
如果你只留下n,它的值为1,但是如果你传递一个参数,新的值将覆盖1。
当您使用具有参数列表的函数时,必须从右到左添加默认值。
int my_func(int n, int m = 4, int j = 5); // VALID int my_func(int n, int m = 6, int j); // INVALID int my_func(int k = 1, int m = 2, int n = 3); // VALID
// Using default arguments.
#include <iostream>
using namespace std;
// function prototype that specifies default arguments
int boxVolume( int length = 1, int width = 1, int height = 1 );
int main()
{
// no arguments--use default values for all dimensions
cout << "The default box volume is: " << boxVolume();
// specify length; default width and height
cout << "nnThe volume of a box with length 10,n"
<< "width 1 and height 1 is: " << boxVolume( 10 );
// specify length and width; default height
cout << "nnThe volume of a box with length 10,n"
<< "width 5 and height 1 is: " << boxVolume( 10, 5 );
// specify all arguments
cout << "nnThe volume of a box with length 10,n"
<< "width 5 and height 2 is: " << boxVolume( 10, 5, 2 )
<< endl;
} // end main
// function boxVolume calculates the volume of a box
int boxVolume( int length, int width, int height )
{
return length * width * height;
}
上面的代码生成以下结果。
以下代码创建一个带有默认参数的字符串函数。
#include <iostream>
using namespace std;
const int SIZE = 80;
char * left(const char * str, int n = 1);
int main(){
char sample[SIZE];
cout << "Enter a string:n";
cin.get(sample,SIZE);
char *ps = left(sample, 4);
cout << ps << endl;
delete [] ps; // free old string
ps = left(sample);
cout << ps << endl;
delete [] ps; // free new string
return 0;
}
char * left(const char * str, int n){
if(n < 0)
n = 0;
char * p = new char[n+1];
int i;
for (i = 0; i < n && str[i]; i++)
p[i] = str[i]; // copy characters
while (i <= n)
p[i++] = "0"; // set rest of string to "0"
return p;
}
上面的代码生成以下结果。
C++ 把引用作为返回值 C++ 引用通过使用引用来替代指针,会使 C++ 程序更容易阅读和维护。C++ 函数可以返回一个引用,方式与返回...
C++ break 语句 C++ 循环C++ 中 break 语句有以下两种用法:当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续...
C++ 多维数组 C++ 数组C++ 支持多维数组。多维数组声明的一般形式如下:type name[size1][size2]...[sizeN];例如,下面的声明创...
C 库函数 - puts() C 标准库 - stdio.h描述C 库函数 int puts(const char *str) 把一个字符串写入到标准输出 stdout,直到空字符...
C 库函数 - atoi() C 标准库 - stdlib.h描述C 库函数 int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类...
C 库函数 - mbstowcs() C 标准库 - stdlib.h描述C 库函数 size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) 把参数 s...