<C++略识>之函数重载

来源:互联网 发布:pack php 编辑:程序博客网 时间:2024/06/05 06:20

1、函数重载定义:在相同作用域内,用同一函数名定义的多个函数,但这些多个函数之间的参数个数参数类型不同,则称这些多个函数就叫重载函数。

2、为什么需要函数重载?

试想:如果要实现一个打印函数,既可以打印int型、也可以打印字符串型,如果没有函数重载,我们必须要这样去做:为这个print函数取不同的名字,如print_int、print_string。这里还只是两个函数的情况,如果是很多个的话,就需要为实现同一个功能的函数取很多个名字,如加入打印long型、char*、各种类型的数组等等。这样做很不友好!!

另外:

-->类的构造函数跟类名相同,也就是说:构造函数都同名。如果没有函数重载机制,要想实例化不同的对象,那是相当的麻烦!

-->操作符重载,本质上就是函数重载,它大大丰富了已有操作符的含义,方便使用,如+可用于连接字符串等!

3、编译器如何识别函数重载

重载函数经过编译后会形成一个新的函数名,其映射机制为:作用域+返回类型+函数名+参数列表

0 0
原创粉丝点击