overloading 重載 / prefix 前綴 / infix 插入中間位 / postfix 后綴
使用重載運(yùn)算符對(duì)十進(jìn)制計(jì)算方法的使用。
新的操作符需要用operator關(guān)鍵字聲明在全局變量中猫缭,可以用prefix误续,infix闪金,prostfix聲明羡滑。
**e.g. **
infix operator + {}
infix 表示定義一個(gè)中位操作符丝格。
associativity 定義了結(jié)合率 聪姿,在多個(gè)同類的操作符出現(xiàn)時(shí)計(jì)算的順序碴萧,加減法都是left,不會(huì)有多個(gè)同類操作符出現(xiàn)時(shí)可設(shè)置為none末购。
precedence 運(yùn)算的優(yōu)先級(jí)勿决,越高的優(yōu)先級(jí)越先進(jìn)行運(yùn)算。
**e.g. **
infix operator + {
associativity none
precedence 140
}
使用重載運(yùn)算符重載十進(jìn)制方法
infixoperator +{}
infixoperator -{}
infixoperator *{}
infixoperator /{}
public func + (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
let result = left.decimalNumberByAdding(right)
return result
}
public func - (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
let result = left.decimalNumberBySubtracting(right)
return result
}
public func * (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
let result = left.decimalNumberByMultiplyingBy(right)
return result
}
public func / (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
let result = left.decimalNumberByDividingBy(right)
return result
}