public static MyClass operator++(MyClass op)
{
MyClass result = new MyClass(); // MyClass() x=y=z=0;
result.x = op.x + 1;
result.y = op.y + 1;
result.z = op.z + 1;
return result:
}
//...
public void Main()
{
MyClass c = new MyClass();
MyClass b = new MyClass(1,2,3); //ctor x = 1, ...
c = b++;
}
Вопрос в том, почему переменная b
будет меняться?потому что result.x = op.x + 1;
не должно меняться op.x
результат на самом деле c
это (1,2,3)
b
это (2,3,4)
Я не понимаю, почему не c
это (2,3,4)
и b
это (1,2,3)