Перевантаження операторів
Метод в середині класу
class Point{
public:
int x;
int y;
Point operator+(const Point& other) { // const - аби не змінювати в середні
Point n;
n.x = x + other.x;
n.y = y + other.y;
return n;
}
};
int main()
{
Point p1, p2, p3;
p1.x = 1;
p1.y = 2;
p2.x = 4;
p2.y = 5;
p3 = p1 + p2; // p3 = p1.operator+(p2);
cout << p3.x << " " << p3.y;
system("pause");
return 0;
}
5 7
Point operator+(int a) {} // додавати число до об'єкту
Зовнішня функція
// friend
Point operator+(const Point& l, const Point& r) { // const - не можна змінювати
Point n;
n.x = l.x + r.x;
n.y = l.y + r.y;
return n;
}
p3 = p1 + p2; // p3 = operator+(p1, p2);