Ich habe diesen Code geschrieben, um eine Überlastung des unären Operators zu erreichen - mit einer Friend-Funktion. Irgendwie hat das keinen Einfluss auf die anfänglichen Werte, die ich bestanden habe.Unary - Überlastung des Operators mit Hilfe der Friend-Funktion
#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;
}
Was macht es, wenn Sie schreiben "i = -i;' statt wenn "-i;'? –
Es funktioniert so. Vielen Dank! –