C++ 函数默认参数

原创 2018年04月15日 13:51:41

首先注意,C语言函数没有默认参数的说法。但是c++可以。

1.有函数声明时,默认参数可以放在函数声明或定义中,但只能放在二者之一。例如:

void fun(int n=1);  函数声明

或者

void fun(int n=1)   函数定义

{...}

没有函数声明时,默认参数在函数定义时指出。

2.在具有多个参数的函数中指定默认值时,默认参数都必须出现在不默认参数的右边,一旦某个参数开始指定默认值,它右边的所有参数都必须指定默认值,例如:

void fun(int n,int m=1);                (正确)

void fun(int n,int m=1,int k=2);   (正确)

void fun(int n=0,int m);               (错误)

void fun(int n,int m=1,int k);       (错误)


没有躲过的坑--C++函数的默认参数(重新定义默认参数)

默认参数指的是当函数调用中省略了实参时,自动使用一个值。这里首先需要注意的是: 对于带参数列表的函数,必须从右向左添加默认值。 也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值...
  • wangshubo1989
  • wangshubo1989
  • 2015-12-01 21:06:45
  • 3649

c++带默认参数的函数的声明、定义及使用总结

c++带默认参数的函数的使用
  • kanglongyao
  • kanglongyao
  • 2015-08-01 11:04:40
  • 2122

C++中函数默认参数匹配问题

默认参数在函数参数较多时是非常有用的.可以只传必须的值,其它取默认值.使用方法如下:   1.默认参数是严格按照从左至右的顺序使用 所以只有如下使用才是合法的 (1)参数全部为...
  • nhf_a
  • nhf_a
  • 2016-08-17 15:46:48
  • 1056

C++默认参数在声明还是定义确定?

参考:http://blog.csdn.net/sailor_8318/article/details/3348383声明是用户可以看到的部分,客户非常信任地使用这个特性,希望得到一定的结果,但是你在...
  • abraham_li
  • abraham_li
  • 2015-11-03 09:23:38
  • 3121

C++中到底在声明中还是定义中指定默认参数

【学习于C语言中文网,请勿转载】 除了函数定义,你也可以在函数声明处指定默认参数。不过当出现函数声明时情况会变得稍微复杂,有时候你可以在声明处和定义处同时指定默认参数,有时候你只能在声明处指定,...
  • czg13548930186
  • czg13548930186
  • 2017-07-25 11:10:47
  • 1385

C++默认参数与函数重载 注意事项

一、默认参数 在C++中,可以为参数指定默认值。在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数。 默认参数的语法与使用: (1)在函数声明或定义时,直接对参数赋值。这就是默认...
  • myth_HG
  • myth_HG
  • 2015-10-08 12:06:56
  • 1542

C++ 函数调用 默认参数

在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那...
  • zhanghow
  • zhanghow
  • 2016-12-06 17:35:30
  • 785

关于C++虚函数默认参数的问题。Effective C++ 条款38: 决不要重新定义继承而来的缺省参数值

昨晚在chgaowei的博客上关于讨论C++虚函数的默认参数问题,刚翻书找了一下,在Effective C++ 中的38条有说明。直接上原文吧,最后加几句细点的理解条款38: 决不要重新定义继承而来的...
  • hw_henry2008
  • hw_henry2008
  • 2011-05-23 10:49:00
  • 5265

C/C++笔试系列--默认参数在哪指定?函数声明还是定义?

  经典C++笔试题解析8--默认参数在哪指定?函数声明还是定义?  Sailor_forever sailing_9806@163.com 转载请注明http://blog.csdn.net/sai...
  • sailor_8318
  • sailor_8318
  • 2008-11-22 01:07:00
  • 9725

C++类的声明与实现中容易忽视的重定义默认参数的错误

初学C++, 关于类的声明与实现,要遵守“实现抽象”、“数据隐藏”的原则。因此一般将声明部分放在头文件中,类的成员函数的具体实现放在源代码文件中。但有时为了省事,将头文件中的类的成员函数的声明直接复制...
  • yang2011079080010
  • yang2011079080010
  • 2016-03-03 21:52:49
  • 2698
收藏助手
不良信息举报
您举报文章:C++ 函数默认参数
举报原因:
原因补充:

(最多只允许输入30个字)