ポインタの配列があります。pArray[rows][columns]
ここで、各要素にはオブジェクトへのポインタを含めることができます。一部のオブジェクトはmain()
ヒープ上でインスタンス化され、一部はヒープ上でもオブジェクト自体によってインスタンス化されました。つまりpArray
、オブジェクトメンバー関数に渡され、その関数が新しいオブジェクトを作成し、そのオブジェクトへのポインターをに配置しましたpArray
。
オブジェクトへのポインタをから削除したい場合pArray
、ここで所有権はありますか?つまり、オブジェクトが新しいオブジェクトを作成し、そのオブジェクトへのポインタをに配置した場合pArray
、作成者オブジェクトのみがそのポインタに対してdeleteを呼び出すことができますか?またはmain()
、配列をそれらに渡すことによって、および他のオブジェクトからそれを行うことができますか?
詳細:
このコードは、グリッド上の捕食者の被食者モデルをシミュレートします(pArray
)。そこで、ファイルから初期グリッド構成を読み取ることから始め、からオブジェクト(捕食者と被食者)をインスタンス化しpArray
ますmain()
。しかし、捕食者と獲物は繁殖する可能性があるため、オブジェクトは新しいオブジェクトを生成pArray
し、それらに渡すことで、に子をインスタンス化しますpArray
。