2016-04-17 78 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);