源代码:
//
//引用类型的比较.swift
//
// Created by chenzhen on 16/8/14.
// From 大连东软信息学院
// Copyright © 2016年 zhen7216. All rights reserved.
//
import Foundation
class Employee {
var no: Int = 0
var name: String = ""
var job: String?
var salary: Double = 0
var dept: Department?
}
struct Department {
var no: Int = 0
var name: String = ""
}
//运算符的重载
func ==(i: Department, r: Department) -> Bool {
return i.name == r.name && i.no == r.no
}
func !=(i: Department, r: Department) -> Bool {
return i.name != r.name || i.no != r.no
}
let emp1 = Employee()
emp1.no = 1000
emp1.name = "Martin"
emp1.job = "Salesman"
emp1.salary = 1250
let emp2 = Employee()
emp2.no = 1000
emp2.name = "Martin"
emp2.job = "Salesman"
emp2.salary = 1250
if emp1 === emp2 {
print("emp1 === emp2")
}
if emp1 === emp1 {
print("emp1 === emp1")
}
var dept1 = Department()
dept1.no = 10
dept1.name = "Sales"
var dept2 = Department()
dept2.no = 10
dept2.name = "Sales"
if dept1 == dept2 {
print("dept1 == dept2")
}
else {
print("dept1 != dept2")
}
运行结果: