午後は、スタック オーバーフローに関する最初の質問です。明確にするために最善を尽くします。
Class 1 と main() 関数の両方で参照する必要があるクラス "Class 2" のオブジェクト "Objects2[arraySize]" の配列を作成しました。
Class1.h
class Class1
{
public:
void parseFunction(several parameters);
private:
int otherVariables;
};
Class1.cpp
#include "Class1.h"
void Class1::parseFunction(several parameters)
{
for(int i = 0; i < arraySize; i++)
{
Objects2[i].someMemberFunction();
}
}
主要
#include "Class1.h"
main()
{
Class2 Objects2[arraySize]; //Arbitrary array size
Class1 Object1;
Object1.parseFunction(some parameters);
for(int j = 0; j < arraySize; j++)
{
Objects2[j].someOtherMemberFunction();
}
}
私はこれをできる限り単純化し、できれば読みやすくしました。私の目標は、これらのオブジェクト「Objects2[arraySize]」に複数のクラスからアクセスできるようにすることですが、ポインターを機能させるのに苦労しています。当面はコードを単純化するために、ベクトルではなく固定の配列サイズを使用することを意図的に選択しました。
現在のところ、一度に 1 つのクラス (エラー、メインまたはクラス 1) のみがこれらのオブジェクトとその関数にアクセスできます。クラス 1 をクラス 2 の関数への「パススルー」として機能させることを検討しましたが、それはばかげているように感じます。もっとエレガントな方法はありますか?ポインタはありますか?
編集:明確にするために、オブジェクトが異なるクラス間でどのように共有されるかについて、私はしっかりと把握していません。私の目標は、これらの「Objects2[arraySize]」オブジェクトを多数作成し (それらの配列を作成することで達成)、いくつかの異なるクラスでそれらにアクセスすることです。参照渡しについて調査しましたが、このオブジェクトの配列ではうまくいきません。