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

2023-05-16

运算符重载

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)  

 

转载于:https://www.cnblogs.com/davidgu/p/5346075.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift语言精要 - Operator(运算符重载) 的相关文章

随机推荐

  • Maven学习总结(八)——使用Maven构建多模块项目

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Maven学习总结 八 使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护 xff0c 我们一般会进行分层开发 xff0c 最常见的就是分为d
  • Echache整合Spring缓存实例讲解

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 摘要 xff1a 本文主要介绍了EhCache xff0c 并通过整合Spring给出了一个使用实例 一 EhCache 介绍 EhCache 是一个纯Java的进程内缓存
  • XML学习总结(1)——XML入门

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 XML语法学习 学习XML 语法的目的就是编写 XML 一个XML文件分为如下几部分内容 xff1a 文档声明 元素属性注释 CDATA区 特殊字符 处理指令 xff0
  • 多个jar包合并成一个jar包(ant)

    https blog csdn net gzl003csdn article details 53539133 多个jar包合并成一个jar 使用Apache的Ant是一个基于Java的生成工具 这个工具的全名是another neat t
  • 国家电网大数据中心成立

    国家电网大数据中心成立国家电网大数据中心成立 5 月 21 日 xff0c 国家电网有限公司举行国网大数据中心成立揭牌仪式暨大数据发布会 xff0c 同时启动中国电力大数据创新联盟筹备工作 公司董事长 党组书记寇伟为国网大数据中心成立揭牌
  • shell的进阶编程

    shell的进阶编程 关于for for 变量名字 in 列表 xff1b do 循环体 done 例如for for NAME in WORDS do COMMANDS don其中前面的name就是个变量名 xff0c 而且不需要加 xf
  • 多线程程序写日志时遇到加锁的问题

    前段时间在做项目时 xff0c 系统是个多线程程序 xff0c 几个线程都需要写日志 xff0c 主线程和通讯线程经常在写日志时打架 xff0c 为了解决这个问题 xff0c 考虑在写日志的方法中加锁 代码如下 xff1a lt summa
  • imba 为什么那么快?

    本专栏思考不周到 imba 文档 下面列出vue作者的关于虚拟dom的评论 xff1a 在比较性能的时候 xff0c 要分清楚初始渲染 小量数据更新 大量数据更新这些不同的场合 Virtual DOM 脏检查 MVVM 数据收集 MVVM
  • 学习记录-数组算法题:最大子数组

    内容摘自现代 JavaScript 教程 题干 输入是以数字组成的数组 xff0c 例如 arr 61 1 2 3 4 9 6 任务是 xff1a 找出连续的 arr 的子数组 xff0c 其里面所有项的和最大 写出函数 getMaxSub
  • 项目管理之代码合并

    由于现在项目发布比较频繁 xff0c 因而经常需要改变版本 xff0c 但是为了能够保有一个最新的CodeFix版本 xff0c 所以 我们也需要在修改主线版本的同时同步合并修改的内容到Fix版本 由于种种原因经常导致合并到CodeFix的
  • C#日写点滴(1)

    渐渐感觉 xff0c 学一种知识 xff0c 脚踏实地 xff0c 一步一步是多么重要 以前习惯一看几十页 xff0c 以为学了很多 xff0c 很有成就感 xff0c 在要用的时候 xff0c 会想起来看过 xff0c 可具体怎么用 xf
  • download excel file from datagrid for webpage

    lt summary gt Summary description for WebExcelUtil lt summary gt public sealed class WebExcelUtil public static void Gen
  • C#:装箱和拆箱

    C 允许 值类型 的任何值与 Object 类型的值相互转换 装箱是将值类型转换为引用类型 xff1b 拆箱是将引用类型转换为值类型 xff1b int i 61 100 object o 61 i 装箱 xff1a 将值类型i转化为了ob
  • 漂亮的登陆框

    转载于 https www cnblogs com aspphpvbs archive 2013 04 20 3033057 html
  • IOS设计模式浅析之抽象工厂模式(Abstract Factory)

    概述 在前面两章中 xff0c 分别介绍了简单工厂模式 和工厂方法模式 xff0c 我们知道简单工厂模式 的优点是去除了客户端与具体产品的依赖 xff0c 缺点是违反了 开放 关闭原则 xff1b 工厂方法模式 克服了简单工厂模式 的缺点
  • 软件工程小组第八次会议记录

    会议主题 xff1a 确定各个接口的命名及功能 与会时间 xff1a 6月17日 与会地点 xff1a 逸夫楼C202 与会成员 xff1a 尚卓燃 张世豪 傅宇豪 王昊钰 会议记录 xff1a 前端与后端讨论了接口的命名和功能 xff0c
  • Ant入门教程

    本内容包含了Ant的历史简要介绍 xff0c Ant的功能以及Ant框架的介绍 xff0c 并对下载安装使用Ant进行了示例介绍 xff0c 同时通过一个Java程序讲解了Ant的基本使用方法 1 Ant简介 xff1a 这里引用Ant帮助
  • Python 与系统管理

    作为一名系统管理员 xff0c 您可能碰到过各种各样的挑战和问题 管理用户 磁盘空间 进程 设备和备份 xff0c 可能让许多系统管理员绞尽脑汁 xff0c 从而变得心情郁闷 甚至精神错乱 Shell 脚本可以为此提供帮助 xff0c 但是
  • Nuget控制台 - 给你的快速添加缺少的包

    利用命令行安装包 转载于 https www cnblogs com davidgu p 3250663 html
  • Swift语言精要 - Operator(运算符重载)

    运算符重载 Swift的这一语言特性或许应该启发于C 43 43 class Vector2D var x Float 61 0 0 var y Float 61 0 0 init x Float y Float self x 61 x s