Swift语言精要 - Operator(运算符重载)

简介: 运算符重载 Swift的这一语言特性或许应该启发于C++ class Vector2D { var x : Float = 0.0 var y : Float = 0.0 init (x : Float, y: Float) { self.

运算符重载

Swift的这一语言特性或许应该启发于C++

class Vector2D {
    var x : Float = 0.0
    var y : Float = 0.0
    init (x : Float, y: Float) {
        self.x = x
        self.y = y
    }
    func +(left : Vector2D, right: Vector2D) -> Vector2D {
        let result = Vector2D(x: left.x + right.x, y: left.y + right.y)
        return result
    }
}

测试代码如下:

let first = Vector2D(x: 2, y: 2)
let second = Vector2D(x: 4, y: 1)
let result = first + second
// = (x:6, y:3)

 

目录
相关文章
|
3月前
|
存储 安全 Swift
Swift 语言:什么是 Swift 的泛型(Generics)?
Swift 语言:什么是 Swift 的泛型(Generics)?
35 0
|
3月前
|
Swift iOS开发
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
44 2
|
3月前
|
存储 Swift
Swift 语言:什么是值类型和引用类型?Swift 中有哪些值类型和引用类型?
Swift 语言:什么是值类型和引用类型?Swift 中有哪些值类型和引用类型?
38 2
|
3月前
|
存储 Swift
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
37 1
|
3月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
31 1
|
4月前
|
JSON IDE Swift
Swift语言的实践编程
Swift语言的实践编程
31 3
|
4月前
|
IDE 编译器 开发工具
Swift语言的基础知识
Swift语言的基础知识
31 4
|
4月前
|
Swift
Swift语言的语法
Swift语言的语法
34 2
|
4月前
|
IDE 开发工具 Swift
Swift语言的教程
Swift语言的教程
49 1
|
4月前
|
API Swift iOS开发

相关课程

更多