操作符過載

2021-08-07 03:31:46 字數 496 閱讀 1249

在swift中,系統定義的操作符有時候對於自己定義的結構體或類的使用不是很方便,所以我們需要自定義操作符來簡化操作。swift中的操作符過載比較簡單,只需要在結構體或類中定義並實現過載的方法即可,單目操作符傳入乙個引數、雙目操作符傳入兩個引數。例項如下:

// 定義乙個結構體

struct p

//過載+=操作符

static func +=(lhs: inout p, rhs: p)

}var p1 = p(x: 1, y: 1)

var p2 = p(x: 2, y: 2)

var p3 = p1 + p2

print(p1) // p(x: 1, y: 1)

print(p2) // p(x: 2, y: 2)

print(p3) // p(x: 3, y: 3)

p3 += p1

print(p3) // p(x: 4, y: 4)

操作符過載

ifndef vertex h define vertex h class vertex vertex float px float py float pz vertex operator const vertex p vertex operator const vertex p void oper...

操作符過載

1.操作符是靜態方法,返回值表示操作結果,引數是運算元。2.操作符過載需要在過載的操作符前加上operator關鍵字。3.最好少用操作符過載,只有在意義明晰而且與內建類的操作一致時才適合使用,以免造成混亂。以建立的分數類 fraction 中的 為例,該分數類中有兩個int型的私有屬性 分子 num...

過載操作符

1.過載操作符1.1 限制過載操作符具有以下限制 1 只有c 預定義的操作符集中的操作符才可以被過載 2 對於內建型別的操作符,它的預定義不能被改變,應不能為內建型別過載操作符,如,不能改變int型的操作符 的含義 3 也不能為內建的資料型別定義其它的操作符 4 只能過載類型別或列舉型別的操作符 5...