object assignment

前端 未结 7 1023
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-21 07:07

I have a scenario like:

MyClass obj1 = new MyClass();
............//some operations on obj1;
MyClass obj2 = new MyClass();
obj2 = obj1;

I h

7条回答
  •  伪装坚强ぢ
    2020-12-21 07:46

    If MyClass declares a copy constructor, you could do a

    MyClass obj2=new MyClass(obj1).
    

    Otherwise, you should create a function to copy as in:

    MyClass CopyMyClassObject(MyClass obj1)
    {
        MyClass Result = new MyClass();
        Result.Value1 = obj1.Value1;
        Result.Value2 = obj1.Value2;
        //...
        Result Valuen = obj1.Valuen;
        Result.Object1.Value1 = obj1.Object1.Value1;
        Result.Object1.Value2 = obj1.Object1.Value2;
        //...
        Result.Object1.Valuen = obj1.Object1.Valuen;
        //..and so on until all values have been assigned
        //The actual assignments will use whatever methods are provided in MyClass, of course.
        return Result;
    }
    

    After that, in your code you would simply do:

    MyClass obj2 = CopyMyClassObject(obj1);
    

    I hope this helps.

提交回复
热议问题