一道笔试题[1]
不能作为重载函数的调用的依据是( )
A.参数个数 B.参数类型 C.函数类型 D.函数名称
答案为C.
重载函数的定义是:出现在相同作用域中的两个函数,如果具有相同的函数名字而形参的类型或者个数不同,则称为重载函数。
对比定义,则A,B,D均为重载函数调用的依据。
有人解释C选项时,说是因为“函数类型==函数返回值的类型”。这个解释是牵强附会的,尽管说“不能将函数返回值类型不同而作为函数重载的依据”,但是,由此而说“函数类型==函数返回值的类型”,这个在本质上是错误的。
关于函数类型,参见资料:
http://blog.csdn.net/amossavez/article/details/4494707和http://kingplesk.org/2012/01/cc-%E5%87%BD%E6%95%B0%E7%B1%BB%E5%9E%8B%E5%92%8C%E5%87%BD%E6%95%B0%E6%8C%87%E9%92%88%E7%B1%BB%E5%9E%8B-%E8%AF%A6%E8%A7%A3/。
天行健,君子以自强不息;地势坤,君子以厚德载物。