2016-04-17 14 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

さらに注意してください。あなたのタイプミスを並べ替えます。私はあなたのコードで3つをすぐに見る。 –

答えて

0

コピーコンストラクタと代入演算子を実装する必要があります。

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

関連する問題