class Point {
var x: Int = 0
var y: Int = 0
}
let p1 = Point()
let p2 = Point(x: 10, y: 20) // 报错
let p3 = Point(x: 10) // 报错
let p4 = Point(y: 20) // 报错
struct Point {
var x: Int = 0
var y: Int = 0
}
let p1 = Point()
let p2 = Point(x: 10, y: 20)
let p3 = Point(x: 10)
let p4 = Point(y: 20)
class Point { // 报错 Class 'Point' has no initializers
var x: Int
var y: Int
}
let p1 = Point() // 报错 'Point' cannot be constructed because it has no accessible initializers
类的初始化器
如果类的所有成员都在定义的时候指定的初始值, 编译器会为类生成无参的初始化器
成员的初始化是在这个初始化器中完成的
class Point {
var x: Int = 10
var y: Int = 20
}
let p1 = Point()