C++中默认参数主要是用在一些参数经常是某一个值的时候。带默认参数的函数在声明的时候,需要对默认参数进行赋值。在函数定义的时候,需要将默认参数去掉。
下面是一个简单的关于默认参数的例子,函数的功能是截取前n个字符。
#include <iostream>
const int ArSize = 80;
char * left_1(const char *str,int n = 1);
int main()
{
using namespace std;
char sample[ArSize];
cout << "Enter a string :\n";
cin.get(sample,ArSize);
cout << "the word you inputed is :\n"
<< sample << endl;
char *ps = left_1(sample,4);
cout << ps << endl;
//释放内存
delete [] ps;
ps = left_1(sample);
cout << ps << endl;
delete [] ps;
return 0;
}
//默认参数,只在声明时给默认参数赋值
char * left_1(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];
}
while(i <= n)
{
p[i ++] = '\0';
}
return p;
}
下面是程序的运行结果: