`
codepeak
  • 浏览: 31960 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

为什么不能通过返回值重载

阅读更多
为什么只能通过范围和参数来重载,而不能通过返回值呢?
      当编译器能从上下文中唯一的确定函数的意思时,如int x = f();这是没有问题的。然而,在C/C++中我们总是可以调用一个函数但忽略它的返回值,即调用了函数的副作用,在这种情况下,编译器不知道调用的哪个函数,而且读者也不知道调用的是哪个函数,所以c++禁止这种调用。
分享到:
评论

相关推荐

    第03章 方法与数组 02 方法的返回值与重载

    第03章 方法与数组 02 方法的返回值与重载

    重载与覆写/重写的区别

    不能通过访问权限,返回类型,异常列表进行重载 * * 下面方式错误! */ private Object getSides() throws NumberFormatException, Exception { return 1; } /** * 3. 方法异常类型和数目不会对重载...

    Java中方法重载与重写的区别

     注意:方法的返回值类型不能用来区分重载的方法。这是因为当调用一个方法时,返回值的类型是不显示的。  2、重写  方法的重写是子类对父类的方法进行改造。  方法重写必须满足下列条件。  (1)子类的...

    重写和重载的区别

    重载的条件: 1.必须在同一个类中2.方法名必须相同3.参数列表不能相同。 重写的条件: 1. 在不同的类中 2. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致 3. 子类抛出的异常不能超过父类相应的...

    C++_运算符重载_各类详细介绍

    C++_运算符重载_各类详细介绍 仅供参考

    Java程序设计基础:重载方法.pptx

    重载方法 目录 ...仅方法返回值类型不同,不能算重载方法。 ✘ 方法重复定义 什么是不同的参数列表? public class Test { void a(){ //省略 } int a(String s){ //省略 } int a(String s, char find){

    c++_运算符重载

    该ppt详细介绍了c++中的运算符重载,对学习者很有帮助。

    Java重载,Java实现一个类中多个相同名字的方法

    java重载,重载(Overload):指一个类中可以有多个方法具有相同的名字,但...如果两个方法,参数一样,方法名一样,返回值类型不一样,这种不构成重载,并且会编译出错。 2.构成重载的两个方法,必须在同一个作用域中

    跟我学Java-day09-方法重载、Debug调试.pdf

    重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回 值来判定两个方法是否相互构成重载 正确范例: 错误范例: public class MethodDemo { public static void fn(int a) { /...

    Java重载和重写的区别--源码实例

    不能通过返回值重载fun方法。 //public boolean fun(int i) throws Exception { // System.out.println("method fun in OverloadTest, parameter type: int, exception: Exception, return: boolean"); // ...

    java基础课程重点笔记.rar

    1.重写和重构的区别 方法的重载和重写都是实现多态的方式,区别在于前者实现的是...重载针对同一个类的方法的名称和参数进行识别 与返回值无关 不能通过返回值来判定两个方法是否相互构成重载 在同一个类内具有相同名

    运算符重载

    重载比较操作符:==、>和<,用于比较两个形状面积的大小关系,返回值类型为bool,可以定义为成员函数或友元函数。 (2)从形状类Shape派生矩形类Rectangle: 添加double型的保护数据成员:rectWidth和...

    java面试题总结.docx

    构造方法不能被重写,声明为final的方法不能被重写,声明为static的方法不能被重写,但是可以被重新声明 c.访问权限不能比父类中的方法权限更低 d.重写的方法不能抛出比父类更多的异常。因为子类可以解决父类的一些...

    C#ppt

    类是 C# 中的一种结构,用于在程序中模拟现实生活的对象 成员变量表示对象的特征 方法表示对象可执行的操作 如果类中...不能根据返回值进行方法重载 命名空间用来界定类所属的范围,类似于Java中的包

    Java重载.docx

    通过方法重载,可以根据不同的参数类型或数量来实现不同的功能。 方法重载的特点如下: 方法名相同,但参数类型或数量不同。 返回值类型可以相同,也可以不同。 方法重载与方法的访问修饰符和返回值类型无关,只与...

    C++语法中的函数重载和默认参数

    返回值类型与函数重载无关,下面代码不构成重载,编译会报错 //返回值类型与函数重载无关 int func(){ return 0; } double func(){ return 0; } 实参的隐式类型转换可能会产生二义性 不同编译器

    面向对象编程xmind思维导图,详细知识点

    面向对象编程1.面向过程与面向对象面向过程面向对象面向过程和面向对象的区别类对象面向对象...② 重写的方法的返回值类型不能大于被重写的方法的返回值类型;③ 重写方法使用的访问权限不能小于被重写方法的访问权限;

    C#中重载重写和覆盖的定义与区别

     重载(Overload)是重新加载的意思,指的是同一个类中同名,但是参数列表不同的方法组(返回值不能区别函数是否重载),重载没有关键字。通俗点说重载是对内存中同一个类中的函数或方法进行重新加载的意思。  2、...

    PHP面相对象中的重载与重写

    也就是说,重载的返回值类型可以相同也可以不同。 重载(Overloading) a、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性...

    C#中重载与重写区别分析

     接触面向对象的思想已经有一段时光了,为什么要学习面向对象呢?因为面向对象具有可复用性、可维护性、可扩展性等优点。  本人之前一直接触的是VB语言,所以正式接触面向对象的编程语言还要从C#开始。前段时间,...

Global site tag (gtag.js) - Google Analytics