重(chong)载与重(zhong)载:原来是这样!!!
国内翻译的书上经常提到这个次:重载。一般我是念chong的。
今天突然想到,这同一个词原来有两种意思,难怪曾经把我搞晕乎:
1.继承中的重载,读chong,即派生类重写了基类的函数。英文为override.
2.同一类中函数的重载,读zhong,即函数名相同但参数列表不同,英文为overload.
还有多态性我也遇到两种说法:一种是在钱能的《C++基础教程》上看到的,即迟后联编,对应于第二种重载,即根据参数类型来决定调用同名函数中的哪一个的能力。
另一种是在学C#时看到的,忘了是在哪本书上,它讲的是第一种重载,即override.
还有一本讲的更明晰,把这两种都称为多态性,我认为这种说法应该比较全面。
突然想到,写出来,希望能帮助初学者,不要在为这个迷糊了。
有不对的,也请纠正。