Recall & Review
beginner
What is operator overloading in Swift?
Operator overloading allows you to define how existing operators like +, -, * behave with your own custom types, making code more readable and natural.
Click to reveal answer
intermediate
How do you overload the + operator for a custom struct in Swift?
You define a static function named + inside or outside the struct that takes two parameters of your type and returns a new value of that type.
Click to reveal answer
beginner
Example: Overload + for a Point struct to add coordinates.
struct Point {
var x: Int
var y: Int
static func + (lhs: Point, rhs: Point) -> Point {
return Point(x: lhs.x + rhs.x, y: lhs.y + rhs.y)
}
}
Click to reveal answer
intermediate
Can you overload operators other than arithmetic ones in Swift?
Yes! You can overload comparison operators (==, !=), logical operators (&&, ||), and even define new custom operators.
Click to reveal answer
beginner
Why use operator overloading?
It makes your custom types easier to use and understand by allowing natural expressions, like adding two points with + instead of calling a method.
Click to reveal answer
What keyword is used to define an overloaded operator function in Swift?
✗ Incorrect
Operator functions must be declared as static functions inside the type.
Which of these operators can you overload in Swift?
✗ Incorrect
Swift allows overloading many built-in operators like +, -, ==, and also custom ones.
What must an operator overload function always return?
✗ Incorrect
The function returns a value representing the result of the operation, usually the same custom type.
Can you overload the + operator to add a Point and an Int directly?
✗ Incorrect
You can overload operators for any parameter types you want by defining the function.
What is a benefit of operator overloading?
✗ Incorrect
Operator overloading helps write code that looks natural and is easier to understand.
Explain how to overload the + operator for a custom struct in Swift.
Think about a function named + that takes two values and returns their sum.
You got /4 concepts.
Why is operator overloading useful when working with custom types?
Consider how adding two points with + feels compared to calling a method.
You got /4 concepts.