C++ 含有默认参数的函数

本文介绍了C++中函数默认参数值的使用方法,包括如何定义带默认值的函数,以及使用默认参数值的注意事项。通过实例展示了如何在不传递所有参数时调用函数,演示了默认参数值从右到左的定义规则,并提醒了形参默认值不能为变量。此外,还讨论了在同一作用域和不同作用域内默认参数值的定义和使用差异。
摘要由CSDN通过智能技术生成

一、简介

C++允许在声明函数或定义函数时,为形参指定一个默认值。

调用函数时,若给出对应实参,则将实参值传给形参,否则,形参值就是指定的默认值。

二、使用带默认形参值的函数

1、实例

#include<iostream>
using namespace std;
int s(int x=5,int y=6)	//定义函数,指定形参默认值
{
	int z;
	z=x*y;
	return z; 
} 
int main()
{
	int A,B,S1,S2,S3;
	cout<<"请输入A和B的值"<<endl;
	cin>>A>>B;	//假设:A=1,B=2;
	S1=s();		//使用默认形参值:x=5,y=6
	cout<<"S1="<<S1<<endl;	//S1=5*6=30;
	S2=s(A);	//传递实参A=1,使用默认形参y=6
	cout<<"S2="<<S2<<endl;	//S2=1*6=6;
	S3=s(A,B);	//传递两个实参:A=1,B=2 
	cout<<"S3="<<S3<<endl;	//S3=1*2=2;
return 0;
}

2、注意

  1.当函数有多个默认形参值时,默认形参值从右到左顺序定义

int s(int a=5,int b)    //错误❌

int s(int a,int b=6)    //正确✔

int s(int a=5,int b=6)    //正确✔

   2.当函数既有声明又有定义时,只能在声明时指定默认形参值

   3.形参的默认值可以是全局常量局部常量,甚至一个函数,但绝不能是变量。

在相同的作用域内,默认形参值的定义必须唯一,但在不同的作用域内,指定的默认形参值可以不同。

#include<iostream>
using namespace std;
int L,W,S;//全局变量 
void input(int a=2,int b=3)//定义函数,指定全局默认形参值
{
	L=a;
	W=b;
}
void output()
{
	S=L*W;
	cout<<"面积是:"<<S<<endl;
}
void show()
{
	void input(int a=5,int b=6);//声明函数,指定局部默认形参值
	input();//调用函数,使用局部默认的形参值(a=5,b=6)
	output(); 
}
int main()
{
input();//调用函数,使用全局默认的形参值(a=2,b=3)
output();
input(8,6);//调用函数,用实参初始化形参
output(); 
show();
return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值