0

кто нибудь, обьясните синтаксис перегрузки операторов(+) !

Смысл понятен, мы создаём алгоритм по которому надо действовать при нестандартных типах переменных. Но я не понимаю, зачем нам в скобочках создавать новый обьект, имеющий класс 2 слагаемого, с именем "адрес obj", и почему далее мы obj используем как обьект класса второго слагаемого? Урок c++ называется перегрузка операторов Вот пример #include <iostream> using namespace std; class MyClass { public: int var; MyClass() { } MyClass(int a) : var(a) { } MyClass operator+(MyClass &obj) { MyClass res; res.var= this->var+obj.var; return res; } }; int main() { MyClass obj1(12), obj2(55); MyClass res = obj1+obj2; cout << res.var; }

11th Dec 2022, 3:47 PM
technocat
technocat - avatar
1 Resposta
0
Ну так ты задаешь логику для сложения своего класса с чем-то, это что то необязательно должно быть экземпляром класса, можно например сложить объект + число. В приведенном примере похоже на сложение двух объектов одного класса и получение третьего, поэтому тип указателя obj это тот же самый класс, что и используется при сложении
11th Dec 2022, 9:14 PM
Danila Khaminets
Danila Khaminets - avatar