C++——函数重载

简介: 简单介绍函数重载

函数重载

函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题

我们可以来简单举个例子:

我们在来看一下代码:这是不是函数重载:

可以肯定的是这是函数重载,但是如果无参调用是,会在这里发生了二义性(产生歧义)

对于函数重载的产生,我们先在这个地方简单略提一下

  • 为什么C++支持函数重载,而C语言不支持函数重载呢

对于C语言不支持函数重载我们是可以很好理解的(在编译链接过程中,通过符号表找到函数名和函数地址),同名函数C语言是区分不了的。

而在C++中,可以去进行区分。C++是通过函数修饰规则来区分,只要参数不同,修饰出来的名字就不一样,就支持了重载 。

但是在调用函数的时候我们并不知道调函数的哪个返回值,就是调用时的二义性,无法区分,调用时不指定返回值类型。所以对于C++的函数重载而言,函数返回值不同并不能构成函数重载,不是函数名修饰规则


相关文章
|
1月前
|
存储 安全 编译器
【C++专栏】C++入门 | 函数重载、引用、内联函数
【C++专栏】C++入门 | 函数重载、引用、内联函数
27 0
|
1月前
|
编译器 Linux C语言
我的C++奇迹之旅相遇:支持函数重载的原理
我的C++奇迹之旅相遇:支持函数重载的原理
|
2月前
|
安全 编译器 Linux
【C++练级之路】【Lv.1】C++,启动!(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for,nullptr)
【C++练级之路】【Lv.1】C++,启动!(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for,nullptr)
|
2月前
|
程序员 C语言 C++
C++入门(头文件,命名空间,作用域,输入输出流,引用,缺省参数,函数重载)
C++入门(头文件,命名空间,作用域,输入输出流,引用,缺省参数,函数重载)
|
2月前
|
Linux C语言 C++
C++之函数重载【详解】
C++之函数重载【详解】
|
14天前
|
存储 安全 编译器
【C++入门】缺省参数、函数重载与引用(下)
【C++入门】缺省参数、函数重载与引用
|
13天前
|
编译器 C语言 C++
【C++入门学习指南】:函数重载提升代码清晰度与灵活性
【C++入门学习指南】:函数重载提升代码清晰度与灵活性
23 0
|
14天前
|
编译器 C语言 C++
【C++入门】缺省参数、函数重载与引用(上)
【C++入门】缺省参数、函数重载与引用
|
20天前
|
编译器 C++
C++函数重载详解
C++函数重载详解
8 1
|
27天前
|
存储 安全 编译器
【C++成长记】C++入门 |函数重载、引用、内联函数
【C++成长记】C++入门 |函数重载、引用、内联函数