2011-07-09 2 views
1

Tは、オブジェクトへのポインタの配列のアクセスメソッドを作成する際に問題があります。クラスへのポインタの配列のアクセスメソッドの作成に関する問題

class DummyClass 
    { 
    private: 
     class Object 
      { 
       friend Dummyclass; 
      }; 

     Object* Array[SIZE]; 

    public: 
     void Set (int iii, Object *pointer) { Array[iii] = pointer; }; 
     Object *& Get (int iii) { return Array[iii]; }; 

    }; 

これは、クラスの外観です。 DummyClass方法で は、私はとしてのポインタをアクセスもしてみてください:

Array->Set(0, pointer); 
    Object* temporary_pointer = Array->Get(1); 

さて、これは明らかに動作しませんが、私はすべて燃え尽きだし、理由を把握することはできません。 何か助けや提案をいただければ幸いです。前もって感謝します。

+0

は、なぜあなたは 'Object'がDummyClass''でプライベートになりたいですか? – Beta

+0

これはテーブルの形式です。ここでObjectsはDummyClassの要素です。 – HitmanMonkey

+0

「うまくいかない」ということについてもっと具体的に説明する必要があります。 – Puppy

答えて

0

を考えると、あなたの宣言:

Object* Array[SIZE]; 

ArrayはプレーンなC配列です。だから、実行することができます。

Array[iii] = pointerToObj; 

を(0 <= iii < SIZE付き)のIII-番目の要素を設定します。

EDIT:

あなたがオブジェクト宣言した場合:その後、

DummyClass dummyObject; 

をあなたが行うことができます:

 dummyObject->Set(0, pointer); 
    Object* temporary_pointer = dummyObject->Get(1); 
+0

はい、私は実際にメソッドの実装でそれを行いますが、メソッドを使用してポインタにアクセスしようとしています。 – HitmanMonkey

+0

私の編集を参照してください... – sergio

+0

もちろん、ありがとう!私はちょうど私が全くばかげた質問をしていることに気づいた。プライベートオブジェクトを使用するためのクラスアクセスメソッドが必要ないことはわかりませんでした。そして私の質問は冗長です。ありがとう! – HitmanMonkey

関連する問題