更多课程 选择中心

C/C++培训
达内IT学院

400-996-5531

C++函数语言的默认参数知识

  • 发布:C++培训
  • 来源:资料库
  • 时间:2017-06-27 14:41

在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值。

所谓默认参数,指的是当函数调用中省略了实参时自动使用的一个值,这个值就是给形参指定的默认值。下面是一个简单的示例:

  • #include<iostream>

  • usingnamespacestd;


  • //带默认参数的函数

  • voidfunc(intn,floatb=1.2,charc='@'){

  • cout<<n<<", "<<b<<", "<<c<<endl;

  • }


  • intmain(){

  • //为所有参数传值

  • func(10,3.5,'#');

  • //为n、b传值,相当于调用func(20, 9.8, '@')

  • func(20,9.8);

  • //只为n传值,相当于调用func(30, 1.2, '@')

  • func(30);


  • return0;

  • }

  • 运行结果:
    10, 3.5, #
    20, 9.8, @
    30, 1.2, @

    本例定义了一个带有默认参数的函数 func(),并在 main() 函数中进行了不同形式的调用。为参数指定默认值非常简单,直接在形参列表中赋值即可,与定义普通变量的形式类似。

    指定了默认参数后,调用函数时就可以省略对应的实参了。

    默认参数除了使用数值常量指定,也可以使用表达式指定,例如:

  • floatd=10.8;

  • voidfunc(intn,floatb=d+2.9,charc='@'){

  • cout<<n<<", "<<b<<", "<<c<<endl;

  • }


  • C++规定,默认参数只能放在形参列表的最后,而且一旦为某个形参指定了默认值,那么它后面的所有形参都必须有默认值。实参和形参的传值是从左到右依次匹配的,默认参数的连续性是保证正确传参的前提。

    下面的写法是正确的:

  • voidfunc(inta,intb=10,intc=20){}

  • voidfunc(inta,intb,intc=20){}

  • 但这样写不可以:

  • voidfunc(inta,intb=10,intc=20,intd){}

  • voidfunc(inta,intb=10,intc,intd=20){}


  • 默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。在以后设计类时你将发现,通过使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。

    本节的例子中,我们在函数定义处指定了默认参数。除了函数定义,你也可以在函数声明处指定默认参数。

    预约申请免费试听课

    填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

    上一篇:C语言编程软件之GCC,GCC C语言编程软件介绍
    下一篇:零基础必看的9条C和C++的学习总结

    超全的C语言标识符知识

    C指针——指针类型转换

    C指针——指针和结构类型的关系

    C指针——数组和指针的关系

    Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

    选择城市和中心
    黑龙江省

    吉林省

    河北省

    湖南省

    贵州省

    云南省

    广西省

    海南省