在上一篇文章中我向大家介绍了关于C++的命名空间的用处以及一些,这篇内容主要是讲解有关C++入门的一些小知识,大家可以通过此文章初步进行一个了解,这些东西在之后的C++学习中都会有更多的妙用,如果有小伙伴感兴趣C++的命名空间,可以点击链接🔗C++的命名空间
一、缺省参数
缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调⽤该函数时,如果没有指定实参
则采⽤该形参的缺省值,否则使⽤指定的实参,缺省参数分为全缺省和半缺省参数。(有些地⽅把
缺省参数也叫默认参数)
//全缺省参数
void Func1(int a = 1, int b = 2)
{
std::cout << a << " " << b << std::endl;
}
//半缺省参数
//半缺省参数必须从右往左写
void Func2(int a, int b = 2)
{
std::cout << a << " " << b << std::endl;
}
int main()
{
Func1();
Func1(2);
Func1(2,3);
Func2(1);
Func2(1,3);
return 0;
}
大家可以对照一下结果,如果我没有调用时没有输入参数,就会直接输出函数定义时默认的数值,但要注意的时半缺省参数必须从右往左写,要不然编译器没有办法把数值进行匹配 。 比如下面这种写法,调用中的3如果是匹配的a的话,b就没有数值对应了。
void Func3(int a = 1, int b)
{
std::cout<< a << " " << b << std::endl;
}
int main()
{
Func3(3);
}
缺省参数不能声明和定义同时给出,比如下面的例子
test.h
void Func(int a = 1);//在头文件中已经给出了缺省参数
test.c
void Func(int a = 1)//再次给出便是错误
void Func(int a)//此做法则是正确的
{
std::cout << a << std::endl;
}
二、函数重载
C++⽀持在同⼀作⽤域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C++函数调⽤就表现出了多态⾏为,使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同名函数的。