overload_exercise.scala代码如下:

object Overload_Exercise extends Serializable {
//------------------------下面是被调用的子函数定义------------------------------------------------class Complex(val real: Int, val imaginary: Int) {def +(operand: Complex): Complex = {//这个函数返回的类型是类类型,该类类型是Complexnew Complex(real + operand.real, imaginary + operand.imaginary)}//这里的意思是,往这个COmplex的入口分别传入两个参数,一个是实数部分,一个是虚数部分.override def toString(): String = //返回String类型,下面的中括号是返回的内容.{real + (if (imaginary < 0) "" else "+") + imaginary + "i"}
}//------------------------下面是主函数------------------------------------------------def main(args: Array[String]): Unit = {val c1 = new Complex(1, 2)//利用上面的class来建立一个对象val c2 = new Complex(2, -3)val sum = c1 + c2//注意,这里重载符号生效了,可以观察到,被重载的+符号的函数,被定义在该类中.println("(" + c1+ ")+ (" + c2 + ")=" + sum)}}

运行方法如下:
scalac overload_exercise.scala
scala Overload_Exercise
运行结果是:
(1+2i)+ (2-3i)=3-1i

其实,就是你想要+号的左右两侧分别处理某种class,
那么就在这个class内部对符号进行重载.

scala中的算术符重载代码详细解释相关推荐

  1. 用汇编的眼光看C++(之算术符重载陷阱)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在算术符重载里面,"="重载可能是最经常使用的一种.但是好多人就误以为在函 ...

  2. 用汇编的眼光看C++(之算术符重载)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 算术符重载是类的有一个特性,但是每个人使用的方法不一样.用的好,则事半功倍:但是如果不正确的使 ...

  3. 重写重载—重写详细解释

    重写重载-重写详细解释 重写 重写发生在运行期间,是子类对父类的允许访问的方法的实现过程进行重新编写 1.方法名.参数列表必须相同,子类方法返回值类型应比父类方法返回值类型更小或相等,抛出的异常范围小 ...

  4. PointNet代码详细解释(Pytorch版本)

    pointnet.pytorch的代码详细解释 1. PointNet的Pytorch版本代码解析链接 2. 代码解释 2.1 代码结构思维导图 2.2 代码注释 2.2.1 build.sh 2.2 ...

  5. 吴恩达机器学习 神经网络 作业1(用已经求好的权重进行手写数字分类) Python实现 代码详细解释

    整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...

  6. 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释

    整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...

  7. 吴恩达机器学习 逻辑回归 作业2(芯片预测) Python实现 代码详细解释

    整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...

  8. 【Scala】Scala中常见集合的使用---代码详解

    1.List集合的使用及创建 object ListDemo1 {def main(args: Array[String]): Unit = {//创建一个Listval list: List[Int ...

  9. theano中的Rop和Lop的详细解释

    #------------------------------------------序------------------------------------------------------- ...

最新文章

  1. 红帆科技将参展2009第十三届中国国际软件博览会
  2. 使用PHPExcel判别和格式化Excel中的日期格式
  3. SQL Server R2 地图报表制作(四)
  4. python easygui_Python里的easygui库
  5. Python help 函数 - Python零基础入门教程
  6. 无人驾驶的规划与控制(一)——路由寻径
  7. vue要求更新3.0-》使用axios的时候出现错误
  8. Python连接presto
  9. 科大学长对数学系学弟学妹的忠告
  10. PASCAL VOC2012数据集下载地址
  11. 物联网需要php和嵌入式吗,物联网与嵌入式两者是什么关系
  12. 高级程序员的思维模式
  13. 设计师学python有什么用_Python是个什么鬼?为什么设计大牛都在学它?!
  14. 浅谈OSPF的DRBDR
  15. 相差天数时分秒_PHP 小方法之 计算两个时间戳之间相差的日时分秒
  16. iOS打包错误The operation couldn’t be completed. (AppThinning.StubError error 1.)
  17. 手机andriod 开发---android test的执行
  18. 立即注册 | 甲骨文云技术嘉年华重磅开启,全球云大会精彩再现!
  19. Java语言编写简单分数计算器
  20. apache dubbo 源码分析系列汇总

热门文章

  1. iscsi介绍及iscsi target配置
  2. iOS-多线程 ,整理集锦,多种线程的创建
  3. C#操作数据库(一)【连接SQL Server数据库】
  4. Python基础:元类
  5. UBUNTU下彻底删除MYSQL
  6. Google 图片下载工具
  7. linq to sql 多条件组合查询
  8. 【深入浅出WF】——令牌环的变身—书签
  9. 计算机一级考试试题window,全国计算机等级考试一级Window复习题及答案.doc
  10. ajax正则验证p标签显示,JQuery+Ajax实现唯一性验证、正则