C++重载

 

 

今天来了解一下C++的重载,何为重载?

1、 什么是重载函数

 如果同一作用域内的几个函数名字相同但形参列表不同,那么这些函数就称之为——重载函数。

类似于math库中,sum函数不同的数据类型参数调用时,调用不同的函数。

2、重载函数的作用:

函数的名字仅仅是让编译器知道它调用的是哪个函数,而函数重载可以在一定程度上减轻程序员起名字、记名字的负担。

 

3、 定义重载函数的注意点

①不允许两个函数除了返回类型外其他所有的元素都相同。即如果两个函数返回值不同,形参列表相同,那么第二个函数的申明时是错误的。

如果同一作用域内的几个函数名字相同但形参列表不同,那么这些函数就称之为——重载函数。

4、 调用重载函数

重载函数存在的意义在于减轻程序员记函数名称和个给函数取名的负担,因此在调用重载函数时,要明确的区别调用的重载函数形参列表的不同。要么形参列表的数量不同,要么类型差异较大。

在调用重载函数时,编译器会根据传入的实参的类型或者数量的不同来确定调用的是哪个重载函数。

一般的调用重载函数会有三种可能:

①编译器找到一个与实参最佳匹配的函数,并调用该函数的代码。

②找不到任何一个函数与调用的实参匹配,此时编译器发出“无匹配”错误。

③有多个函数可以匹配,但是每一个都不是明显的最佳选择。此时编译器发出“二义性调用”错误。

 

 

再来说一下C++中不能被重载的运算符。

不能重载的运算符只有5个: 
.  (成员访问运算符) 
.*  (成员指针访问运算符) 
::  (域运算符) 
sizeof  (长度运算符) 
?:  (条件运算符) 
前两个运算符不能重载是为了保证访问成员的功能不能被改变,域运算符和sizeof 运算符的运算对象是类型而不是变量或一般表达式,不具备重载的特征。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值