这个标题或许还可以叫做,怎么样判断两个函数是否是重载函数。
由于今天做了道面试题,题目是:系统在调用重载函数时,能作为确定那个重载函数被调用的依据是()  我选的是A函数返回类型,正确答案是B参数个数。
查阅书籍之后发现重载函数的定义是:同一个类中包含了两个或两个以上方法的方法名相同,但形参列表不同,则被称为方法重载.
方法重载就要求两同一不同:同一类中方法名相同,但是参数列表不同。我来补充一下自己发现的一些含义。上面两同一不同没有提到返回值类型不同,我用代码测试了一下,当两个函数名相同,参数也相同,但是返回值类型不同就会报错。如下就会报错。
public void fun(){System.out.println("this is void fun method");}public int fun(){System.out.println("this is method return int");return 1;}

所以同名同参数方法,方法返回值类型不同,就会报错,因为系统会提示该方法已经存在了。

第二点就是,方法名相同,返回值相同,参数名不同也是同样的错误。这个就有点画蛇添足了,但是对于追求严谨或者说对java不太理解的就会有很多无脑的疑问。所以,我才产生了这样的疑问,事实证明我是对的。参数的名称不同但是类型相同也是会报错的,如下:

 public void  fun(int a){}public void fun(int b){}

如果有需要补充的,欢迎大家积极评论。

确定重载函数被调用的依据相关推荐

  1. 重载函数的调用匹配规则

    重载函数的调用匹配,依次按照下列规则来判断: 精确匹配:参数匹配而不做转换,或者只是做微不足道的转换,如数组名到指针.函数名到指向函数的指针.T到const T: 提升匹配:即整数提升(如bool到i ...

  2. C++ 函数匹配 重载函数的调用规则

    学习<C++ Primer>一书中,函数匹配这一节内容信息较多,现截取重点内容记录于此.便于你对本文内容更好的理解,你需对类型提升.算术类型转换以及顶层cosnt,底层const有一定的了 ...

  3. c语言sqrt多个重载函数,“sqrt”: 对重载函数的调用不明确——解决方法

    #include #include using namespace std; int main(){ int i,j,k,flag; i = 2; while(i <= 100){ flag = ...

  4. c++类指针赋值表达式必须是可修改的左值_C++学习刷题8--复制构造函数和赋值运算符重载函数...

    一.前言 本部分为C++语言刷题系列中的第8节,主要讲解这几个知识点:复制构造函数和赋值运算符重载函数.欢迎大家提出意见.指出错误或提供更好的题目! 二.知识点讲解 知识点1:复制构造函数 1.当依据 ...

  5. c++ 复制构造函数_C++学习刷题8--复制构造函数和赋值运算符重载函数

    一.前言 本部分为C++语言刷题系列中的第8节,主要讲解这几个知识点:复制构造函数和赋值运算符重载函数.欢迎大家提出意见.指出错误或提供更好的题目! 二.知识点讲解 知识点1:复制构造函数 1.当依据 ...

  6. 重载函数与虚函数的区别

    重载函数与虚函数的区别: 重载函数只要求函数有相同的函数名,并且重载函数是在相同作用域中定义的名字相同的不同函数.而虚函数不仅要求函数名相同,而且要求函数的签名.返回类型也相同.也就是说函数原型必须完 ...

  7. 深入理解C++重载函数

    深入理解C++重载函数 1.定义:C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数.类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不 ...

  8. C++入门之命名空间、缺省函数、重载函数及引用

    目录 一.命名空间 1.概念 (1)流插入运算符和流提取运算符 2.命名空间出现的意义 (1)c语言的命名缺陷 (2)如何解决命名冲突 3.命名空间的使用 (1)不展开使用 (2)完全展开使用 (3) ...

  9. 【清华大学-郑莉教授】C++语言程序设计 函数的参数函数的内联、重载和系统函数的调用

    [清华大学-郑莉教授]C++语言程序设计 函数的参数&&函数的内联.重载和系统函数的调用 函数的参数 交换算法 输入两个整数并交换 函数的内联.重载和系统函数的调用 内联函数 函数的重 ...

最新文章

  1. component是什么接口_【Android每日一题】从Activity创建到View呈现中间发生了什么?...
  2. java 使用http2.0_【Java】okhttp3如何发送http2请求?
  3. mysql update多个字段 逗号 and 的错误例子
  4. getElementById取得文本框中的值
  5. 欧盟数据保护新规则 75%云应用没准备好
  6. OpenCV中的cv::String和CString互相转换
  7. 更新Composer依赖报错处理Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRe...
  8. python运算符_Python运算符总结
  9. randomized algorithms 有哪些_毛毯分类有哪些 毛毯的种类
  10. 《Docker:容器与容器云》.pdf
  11. linux下安装rar解压包
  12. IDEA中 GIT与SVN版本控制插件的切换
  13. memcached-tool
  14. java用户登录进入系统_Java CRM系统用户登录功能实现代码实例
  15. 基于vue,自定义条形进度条/辣条进度条
  16. 谷歌账号--手机号无法验证
  17. 12 个最佳的免费学习编程的游戏网站
  18. 数学建模之spss软件使用和例题
  19. linux non-iso extended-ascii,Linux 下文件Non-ISO extended-ASCII编码问题
  20. 汇川H5U模拟量输入模拟量转换 FC S_ITR

热门文章

  1. 传统公关没落之后,当代公关的变化策略
  2. k8s-pv-pvc概述
  3. 毕业一年我与Java的故事
  4. DotNetBar界面按钮设置
  5. 什么是loader? (webpack学习篇4)
  6. 使用js生成GUID
  7. 常用事务@Transactional(propagation=Propagation.REQUIRES_NEW)和@Transactional(propagation=Propagation.REQU
  8. mybatis中selectKey的作用
  9. 网络驱动简介==PHY子系统(linux驱动开发篇)
  10. c++模板专题 - Deduced Context