码迷,mamicode.com
首页 > 编程语言 > 详细

C++——带默认参数值的函数

时间:2018-02-01 23:15:18      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:str   主函数   set   man   cout   blog   结合   技术   height   

函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认参数值。

int add(int x = 5,int y = 6)
{ return x + y;}
int main()
{
  add(10,20);//10+20
  add(10);//10+6
  add();//5 + 6          
}

默认参数值的说明次序

有默认参数的形参必须在形参列表的最后,也就是说默认参数值的右面不能有无默认值的参数,因为调用时实参与形参的结合是从左到右的顺序。

int add(int x,int y = 5,int z = 6);//正确
int add(int x = 1,int y = 5,int z);//错误
int add(int x = 1,int y,int z = 6);//错误

默认参数值与函数的调用位置

如果一个函数有原型声明,并且原型声明在定义之前,则默认参数值必须在函数原型声明中给出;而如果只有函数的定义,或函数定义在前,则默认参数值需在函数定义中给出

#include<iostream>
using namespace std;

int add(int x = 5, int y = 6);

int main()
{
    cout<<add();
    system("pause");
    return 0;
}

int add(int x, int y)
{
    return x + y;
}

结果为11

#include<iostream>
using namespace std;

int add(int x = 5, int y = 6)
{
    return x + y;
}

int main()
{
    cout<<add();
    system("pause");
    return 0;
}

结果相同

带默认参数值的函数举例:

计算长方体的体积:子函数getVolume是计算体积的函数,有三个形参:lengrh(长),width(宽),height(高),其中width和height带有默认值

主函数中以不同形式调用getVoluime函数,分析程序的运行结果

#include<iostream>
#include<iomanip>
using namespace std;

int getVolume(int length, int width = 2, int height = 3);

int main()
{
    const int X = 10, Y = 12, Z = 15;
    cout << "Some box data is ";
    cout << getVolume(X,Y,Z) << endl;
    cout << "Some box data is ";
    cout << getVolume(X, Y) << endl;
    cout << "Some box data is ";
    cout << getVolume(X) << endl;
    system("pause");
    return 0;
}

int getVolume(int length, int width, int height)
{
    cout << setw(5) << length << setw(5) << width << setw(5) << height << endl;
    return length * width * height;
}

输出结果:

技术分享图片

 

C++——带默认参数值的函数

标签:str   主函数   set   man   cout   blog   结合   技术   height   

原文地址:https://www.cnblogs.com/ZZUGPY/p/8401365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!