C++学习笔记14:带默认参数值的函数

本文详细解析了C++中带有默认参数值的函数定义与调用规则,强调了默认参数值的位置要求及其实参与形参结合的次序。通过实例展示了如何在函数原型和定义中指定默认值,以及如何在调用时利用这些默认值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

带默认参数值的函数

默认形参值:函数在定义时可以预先声明默认的形参值。调用时如果给出实参,则用实参初始化形参;如果没有给出实参,则采用预先声明的默认形参值。

说明次序
  • 有默认参数的形参值必须列在形参表的最右,即默认参数值的右边不能有无默认值的参数
  • 调用时实参与形参的结合次序是从左向右
默认参数值与函数的调用位置
  • 如果一个函数有原型声明,且原型声明在定义之前,则默认形参值在原型声明中给出;
  • 如果只有函数的定义,或函数定义在前,则默认参数值可以在函数定义中给出。
  • 在函数的定义或原型声明外,在函数定义中用注释说明默认形参值是一种好习惯。

例计算长方体的体积

//3_15.cpp
#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;
	return 0;
}

int getVolume(int length, int width/* = 2 */, int height/* = 3 */) {
	cout << setw(5) << length << setw(5) << width << setw(5) << height << '\t';
	return length * width * height;
}

运行结果

Some box data is    10   12   15        1800
Some box data is    10   12    3        360
Some box data is    10    2    3        60

该例中函数调用在定义之前,所以需要声明函数原型,且需要在函数原型中标明形参默认值,并且要将带默认值的参数放在右侧。
setw函数是给紧跟着后面的数据预定一个空间,如果该数据小于这个空间,在左边用‘0’补齐;setw()只对紧跟在他后面的数据有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值