1.什么是重载???
重载 即:overloading 英 ['əʊvə'ləʊdɪŋ] 美 ['oʊvə'loʊdɪŋ]
n. 过载,超载,过负载 v. 使负担太重( overload的现在分词 );使超载;使过载;给…增加负担
我们都知道,C++是支持overloading 的,
::定义: 对于在不同类型上作不同运算而又用同样的名字的情况,则称之为:重载。
当调用时,编译器是怎么知道这个名字对应的到底是哪个方法呢???
我们先来看一下,C++是如何实现这一技术的。
关键词:匹配
在调用一个重载函数f()时,编译器必须搞清楚函数名f 到底是指哪个函数。
这是靠:实参类型和所有被调用的f()函数的形参类型一一比较判定的。按下述3个步骤的先后顺序找到并调用那个函数。、
()寻找一个严格的匹配,如果找到了,就用那个函数。
()通过内部转换寻求一个匹配,只要找到了,就用那个函数。
()通过用户定义的转换寻求一个看匹配,若能查出有唯一的一组转换,就用那个函数。