C++ 带默认形参值的函数、函数重载

C++ 带默认形参值的函数、函数重载,第1张

1.先声明,后定义。


调用在定义的前面或者后面。


函数声明时给出默认形参值,定义(实现)时候不能再出现默认形参

/*
函数声明时给出默认形参值,定义(实现)时候不能再出现默认形参
*/

#include
#include
using namespace std;
int add(int a=2,int b=1);//
int main()
{
	cout<

2.无声明时,先定义,后使用

#include
#include
using namespace std;
int add(int a=2,int b=1)
{
	return a+b;
}
int main()
{
	cout<

3.有默认值的形参必须在形参列表后面。


(从右向左)

因为在函数调用时,实参与形参的结合时从左到右进行。


函数重载

两个或者两个以上的函数,但是形参的个数和类型不同,编译器根据实参和形参的类型以及个数进行匹配,自动确定调用哪一个函数,这就是函数的重载。


例题:

下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数? (B) 
  • A. int  BC(int a, int b)
  • B. void BC(int a, char b)
  • C. float BC(int a, int b, int c = 0)
  • D. void BC(int a, int b=0) 

B选项

#include
#include
using namespace std;
int add(int a,int b=1)
{
	return a+b;
}
int add(int a,char b)
{
	return a+b;
}
int main()
{

	cout<

注意:要避免二义性

如下这时代码是错误的 编译器不知道要调用哪个add函数。


//这是错误的代码!!!
#include
#include
using namespace std;
int add(int a,int b=1)
{
	return a+b;
}
int add(int x)
{
	return x;
}
int main()
{
	cout<

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/607111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-14
下一篇 2022-04-14

发表评论

登录后才能评论

评论列表(0条)