从C语言开始的C++编程生活(2)
前言
本系列文章承接C语言的学习,需要有C语言的基础才能学会哦~
第2篇主要讲的是有关于C++的缺省参数和函数重载。
C++才起步,都很简单呢!
目录
前言
缺省参数
基本语法
缺省参数的作用
函数重载
基本语法
重载的作用
缺省参数
缺省参数,也可以叫做默认参数,是C语言无法实现的一种特殊功能。
基本语法
void Func(int a, int b = 20, int c = 0)
{
printf("%d", a + b + c);
}
这段代码,声明并且定义了一个Func函数,我们可以发现,其中参数b和参数c都被赋了值。这里的b和c就是缺省(默认)参数。
而使用缺省参数的函数有两种:
①全缺省,所有参数都是缺省参数。
②半缺省,左边一部分参数是普通参数,剩余的是缺省参数。
!!注意 !!半缺省参数只能统一全部排列在参数列表的右侧,且缺省参数和普通参数不可以交替放置!!
缺省参数的作用
int main()
{
Func(30);//缺省参数不传参
Func(1);//缺省参数部分传参
Func(1, 2, 30);//全部传参
return 0;
}
使用了缺省参数的函数,在传参时,可以有多种选择。
①缺省参数全部不传参。此时,这些参数使用声明时定义的默认值(如a = 0, b = 20)。
②缺省参数全部传参。此时,所有参数使用传入的值。
③缺省参数部分传参。此时,传了参的缺省参数使用传入的值;其它的使用默认值。
!!注意 !!传参只能从左到右按顺序传,不可以跳跃传参。
//!!错误示范!!
//想要第二个参数不传值
Func(1, ,3);//!!是错误的!!
//!!正确示范!!
//想要第二个参数不传值,也就是想第二个参数用默认值
Func(1,20,3);//传入默认值即可
函数重载
概念上,和JAVA的方法重载是一样的。
基本语法
void func()
{
printf("haha\n");
}
void func(int a)
{
printf("%d\n",2*a);
}
当两个函数同名,而且参数列表不同的时候,这两个函数构成重载。
什么是不同的参数列表?
类型不同 or 顺序不同 or 个数不同
其中变量标识符的不同,无法构成重载。
重载的作用
程序根据传入的参数,自行匹配应该传入到哪个函数里。
int main()
{
func();//没有参数,对应的是上段代码第一段定义的参数列表
func(2);//有一个参数2,对应的是上段代码第二段定义的参数列表
}
输出结果是:
haha
4
!!注意 !!全缺省函数和无参数函数不可以构成重构!!
//!!错误 !!
void func()
{
printf("hhhhhhhh");
}
void func(int a = 0)
{
printf("xxxxxxxx\n");
}
int main()
{
func();
}
此时,程序不知道func()是要调用上一段定义还是调用下一段定义,去使用a的默认值。就会发生报错!!
❤~~本文完结!!感谢观看!!欢迎来我博客做客~~❤