Я написал этот код, чтобы выполнить перегрузку унарного оператора - используя функцию друга. Каким-то образом, нет никакого влияния на исходные значения, которые я прошел.Unary - перегрузка оператора с помощью функции друга
#include<iostream>
//fifty6s
using namespace std;
class invert_position
{
int x,y;
public:
invert_position(int a,int b)
{
x=a;
y=b;
}
void show()
{
cout<<"\nx="<<x;
cout<<"\ny="<<y;
}
friend void operator -(invert_position);
};
void operator -(invert_position i)
{
i.x=-i.x;
i.y=-i.y;
}
int main()
{
invert_position i(2,3);
-i;
i.show();
return 0;
}
Что он делает, когда вы пишете 'i = -i;' вместо if -i; '? –
Это работает именно так. Благодаря! –