What is operator overloading

Operator overloading is a feature in programming languages that allows developers to define how operators (like +, -, *, etc.) behave with user-defined objects. This means that you can customize the behavior of standard operators to work with instances of your classes, making the code more intuitive and easier to work with.

For example, you can define how the addition operator works between two objects of a custom class, allowing for seamless interactions with the objects.

<?php class Point { public $x; public $y; public function __construct($x, $y) { $this->x = $x; $this->y = $y; } public function __toString() { return "($this->x, $this->y)"; } public function __add($point) { return new Point($this->x + $point->x, $this->y + $point->y); } } $point1 = new Point(1, 2); $point2 = new Point(3, 4); $result = $point1 + $point2; // Using overloaded operator echo $result; // Outputs: (4, 6) ?>

Operator Overloading Custom Operators PHP Operators Object-Oriented Programming