确定重载函数被调用的依据
这个标题或许还可以叫做,怎么样判断两个函数是否是重载函数。
由于今天做了道面试题,题目是:系统在调用重载函数时,能作为确定那个重载函数被调用的依据是() 我选的是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){}
如果有需要补充的,欢迎大家积极评论。
确定重载函数被调用的依据相关推荐
- 重载函数的调用匹配规则
重载函数的调用匹配,依次按照下列规则来判断: 精确匹配:参数匹配而不做转换,或者只是做微不足道的转换,如数组名到指针.函数名到指向函数的指针.T到const T: 提升匹配:即整数提升(如bool到i ...
- C++ 函数匹配 重载函数的调用规则
学习<C++ Primer>一书中,函数匹配这一节内容信息较多,现截取重点内容记录于此.便于你对本文内容更好的理解,你需对类型提升.算术类型转换以及顶层cosnt,底层const有一定的了 ...
- c语言sqrt多个重载函数,“sqrt”: 对重载函数的调用不明确——解决方法
#include #include using namespace std; int main(){ int i,j,k,flag; i = 2; while(i <= 100){ flag = ...
- c++类指针赋值表达式必须是可修改的左值_C++学习刷题8--复制构造函数和赋值运算符重载函数...
一.前言 本部分为C++语言刷题系列中的第8节,主要讲解这几个知识点:复制构造函数和赋值运算符重载函数.欢迎大家提出意见.指出错误或提供更好的题目! 二.知识点讲解 知识点1:复制构造函数 1.当依据 ...
- c++ 复制构造函数_C++学习刷题8--复制构造函数和赋值运算符重载函数
一.前言 本部分为C++语言刷题系列中的第8节,主要讲解这几个知识点:复制构造函数和赋值运算符重载函数.欢迎大家提出意见.指出错误或提供更好的题目! 二.知识点讲解 知识点1:复制构造函数 1.当依据 ...
- 重载函数与虚函数的区别
重载函数与虚函数的区别: 重载函数只要求函数有相同的函数名,并且重载函数是在相同作用域中定义的名字相同的不同函数.而虚函数不仅要求函数名相同,而且要求函数的签名.返回类型也相同.也就是说函数原型必须完 ...
- 深入理解C++重载函数
深入理解C++重载函数 1.定义:C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数.类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不 ...
- C++入门之命名空间、缺省函数、重载函数及引用
目录 一.命名空间 1.概念 (1)流插入运算符和流提取运算符 2.命名空间出现的意义 (1)c语言的命名缺陷 (2)如何解决命名冲突 3.命名空间的使用 (1)不展开使用 (2)完全展开使用 (3) ...
- 【清华大学-郑莉教授】C++语言程序设计 函数的参数函数的内联、重载和系统函数的调用
[清华大学-郑莉教授]C++语言程序设计 函数的参数&&函数的内联.重载和系统函数的调用 函数的参数 交换算法 输入两个整数并交换 函数的内联.重载和系统函数的调用 内联函数 函数的重 ...
最新文章
- component是什么接口_【Android每日一题】从Activity创建到View呈现中间发生了什么?...
- java 使用http2.0_【Java】okhttp3如何发送http2请求?
- mysql update多个字段 逗号 and 的错误例子
- getElementById取得文本框中的值
- 欧盟数据保护新规则 75%云应用没准备好
- OpenCV中的cv::String和CString互相转换
- 更新Composer依赖报错处理Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRe...
- python运算符_Python运算符总结
- randomized algorithms 有哪些_毛毯分类有哪些 毛毯的种类
- 《Docker:容器与容器云》.pdf
- linux下安装rar解压包
- IDEA中 GIT与SVN版本控制插件的切换
- memcached-tool
- java用户登录进入系统_Java CRM系统用户登录功能实现代码实例
- 基于vue,自定义条形进度条/辣条进度条
- 谷歌账号--手机号无法验证
- 12 个最佳的免费学习编程的游戏网站
- 数学建模之spss软件使用和例题
- linux non-iso extended-ascii,Linux 下文件Non-ISO extended-ASCII编码问题
- 汇川H5U模拟量输入模拟量转换 FC S_ITR
热门文章
- 传统公关没落之后,当代公关的变化策略
- k8s-pv-pvc概述
- 毕业一年我与Java的故事
- DotNetBar界面按钮设置
- 什么是loader? (webpack学习篇4)
- 使用js生成GUID
- 常用事务@Transactional(propagation=Propagation.REQUIRES_NEW)和@Transactional(propagation=Propagation.REQU
- mybatis中selectKey的作用
- 网络驱动简介==PHY子系统(linux驱动开发篇)
- c++模板专题 - Deduced Context