2016-04-17 99 views
-1

的副本我有一個類:保存當前對象

`class Myclass 
{ 
    public: 
    MyClass (void); 
    AddNumber (const int num); 
    CopyCurrentObject (void); 

    private: 
    int * array 
    int size; 
    int maxSize; 
    MyClass * objetcts[10]; 
} 

我如何創建我的當前對象的副本,並將其保存到MyClass * objects[10]

與副本我的意思是我想創建一個臨時對象與當前對象的當前值(數組,大小,maxSize中的元素)並將其存儲到MyClass * objects[10]。它基本上就像備份一樣。

我創建臨時對象和對象存儲陣列是這樣的:

MyClass * temp = new MyClass (* this); MyClass objects[cnt++] = temp;

問題是與int * array,因爲這種方式是指向我的對象數組所以每當我在我的對象添加值,存儲在MyClass * objects[10]中的對象也有。

+1

請多加小心。整理你的錯別字。我在你的代碼中看到三個直接。 –

回答

0

您應該實現複製構造函數和賦值運算符。

Myclass(const Myclass& orig); Myclass& operator=(const Myclass& orig);