一、基本概念
函数重载就是在同一个作用域内,允许存在参数不同的同名函数。
1. 参数个数不同
例子:
void func(int a, int b, int c)
{
...
}
void func(int a, int b)
{
...
}
2. 参数类型不同
例子:
void func(int a, int b)
{
...
}
void func(int a, double b)
{
...
}
void func(double a, int b)
{
...
}
void func(double a, double b)
{
...
}
3. 参数类型的顺序不同
例子:
void func(int a, double b)
{
...
}
void func(double a, int b)
{
...
}
注意这里的顺序指的是参数类型的顺序,而不是参数名的顺序。
比如下面的例子就不构成函数重载。
void func(int a, double b)
{
...
}
void func(int b, double a)
{
...
}
二、函数名修饰规则
C++ 支持函数重载的本质,其实是因为 C++ 特殊的函数名修饰规则。
我们知道 C 语言是不支持同名函数的,而 C++ 得益于其特殊的函数名修饰规则,编译后的函数名不再是单纯的函数名字,而是会加入参数的信息,类似func_int_double
这种。具体的函数名修饰规则根据平台会有所不同,这里不作深究。文章来源:https://www.toymoban.com/news/detail-612741.html
另外,只有返回类型不同是不构成函数重载的,因为 C++ 的函数名修饰规则不包含返回类型的信息。文章来源地址https://www.toymoban.com/news/detail-612741.html
到了这里,关于【C++入门】函数重载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!