为什么不能根据返回类型来区分重载

方法重载:同一个类中的多个方法有相同的名字,但这些方法的参数列表不同,参数的数量或参数类型不能完全相同。

方法重写:存在子父类之间的,,子类定义的方法与父类中的方法具有相同的方法名字,以及相同的参数表和相同的返回类型。

函数的返回值只是作为函数运行之后的一个“状态” ,并不能作为某个方法的“标识” 。

原文地址:https://www.cnblogs.com/cykfory/p/10430291.html

时间: 2024-08-29 20:21:21

为什么不能根据返回类型来区分重载的相关文章

方法重载,为什么不能根据返回类型来区分?

详见:四 一.方法重载简述 任何程序设计语言都具备一项重要特性就是对名字的运用.当创建一个对象时,也就给此对象分配到的存储空间取一个名字. 所谓方法,则是给某个动作取的名字.通过这个名字,你可以引用所有的对象和方法.名字起的好可以使系统更易于理解和修改. 在日常生活中,相同的词可以表达多种不同的含义——它们被“重载”了.特别是含义之间的差别很小时,这种方式十分有用.比起“以洗衬衫的方式洗衬衫”.“以洗狗的方式洗狗”.“以洗车的方式洗车”,“洗洗衬衫”.“洗洗狗”.“洗洗车”显得更加简洁和方便.

重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性.重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则视为重载:重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则).重载对返回类型没有特殊的要求.

IntelliSense 无法重载仅按返回类型区分的函数

IntelliSense:无法重载仅按返回类型区分的函数       d:\programfiles (x86)\microsoft sdks\windows\v7.0a\include\winbase.h         3540 在VS2010下用C语言写Windows系统服务,从另一个c#的项目中Copy过来一段代码,修改后再编译,就产生了这个错误! 在网上搜索得到的答案是:"无法重载仅按返回类型区分的函数"这种情况一般只会发生在有同名函数的情况下,但是我那段代码里却没有同名函数

仅返回类型不同的函数,在C++中如何实现重载?

C++支持函数重载,所谓重载就是在同一命名空间内,函数名相同,参数不同(参数个数或参数类型不同)的函数可以共存.但是若参数和函数名相同的话,编译器会报错不能重载.但是现实中,有时候仅仅需要返回类型不同的的函数,而这种情况C++又不支持重载,如: [cpp] view plain copy typedef struct TData { int a; int b; } TData; class CTest { public: TData &getData() { return data; } con

IntelliSense 无法仅由函数的返回类型重装分辨

IntelliSense:无法仅由函数的返回类型重装分辨       d:\programfiles (x86)\microsoft sdks\windows\v7.0a\include\winbase.h         3540 在VS2010下用C语言写Windows系统服务,从还有一个c#的项目中Copy过来一段代码,改动后再编译.就产生了这个错误! 在网上搜索得到的答案是:"无法重载仅按返回类型区分的函数"这样的情况一般仅仅会发生在有同名函数的情况下.可是我那段代码里却没有同

Java中的方法(形参及实参)return返回类型

如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴 2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void :如果方法具有返回值,则需要指定返回值的类型,并且在

17.C#类型判断和重载决策(九章9.4)

今天来结束第九章,聊下我们经常忽略,但是编译器会帮我们完成的"类型判断和重载决策",理解编译器如何帮我们完成,相信在写代码时会更明确,避免一些编译出错,排查的问题,让我们开发更给力. 我们知道隐式类型的数组以及将方法组转换为委托类型都需要类型推断,但将方法组作为其它方法的参数进行转换时,会显得极其复杂,我们由浅入深,一步一步来看,编译器是如何帮我们做的一些推断. 1 //定义一个泛型方法,参数分别为TInput类型和一个Func<TInput, TResult>类型的委托

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------&gt; 可以返回派生类对象的引用或指针

您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. 百度和网页 http://bbs.csdn.net/topics/380238133 的作者无关,不对其内容负责.百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面. 首页 精选版块 移动开发 iOS Android Qt WP 云计算 IaaS Pass/SaaS 分布式计算/Hadoop J