swift 运算符重载

定义坐标点类

class Point{
    var x:Float!
    var y:Float!
    init(x:Float,y:Float){
        self.x=x
        self.y=y
    }
}

重载加减运算符

func +(p1:Point,p2:Point) -> Point {
    return Point(x: p1.x+p2.x,y: p1.y+p2.y)
}

func -(p1:Point,p2:Point) -> Point {
    return Point(x: p1.x-p2.x,y: p1.y-p2.y)
}

测试案例

var p1=Point(x: 1,y: 2)
var p2=Point(x: 3,y: -5)
p1=p1+p2
print(p1.x,p1.y)
p1=p1-p2
print(p1.x,p1.y)

输出

4.0 -3.0
1.0 2.0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、简介 Swift中类或结构体可以对已有的运算符进行自定义实现,赋予另外一种功能。可以成为运算符函数,即运算符重...
    SuperDawn_0828阅读 6,177评论 0 3
  • 作者:COSMIN PUPĂZĂ,原文链接,原文日期:2016-03-29译者:zltunes;校对:shanks...
    梁杰_numbbbbb阅读 3,134评论 0 4
  • 让已有的运算符对自定义的类和结构进行运算或者重新定义已有运算符的运算规则,这种机制被称为运算符重载。 1.通过重载...
    KUANGJUNJIE阅读 3,101评论 0 0
  • FTP服务器的搭建 搭建FTP服务器要用到Ser-U软件,下载好安装包以后双击安装,打开软件配置服务器 然后要设置...
    小芸儿阅读 3,177评论 0 3
  • 然而,你大多数的时间都只是用盲目的努力来掩盖焦虑,不断地重复低效的工作。 最后再用“我已经很努力了”来总结自己的低...
    freshriver阅读 1,410评论 0 0