最初に自分の状況を説明しようと思います。内部に構造を持つクラスがあり、このコンテナcalsの配列があります
class A
{
struct B
{
int I;
B *next;
};
B *objOfB; //Array of structures
B *lastB; //Pointer to last objOfB element
public:
//Method for adding values to objOfB
void addB(int i)
{
B *temp = new B;
temp->I = i;
temp->next = NULL;
if(ing == NULL)
{
last = temp;
objOfB = temp;
}
else
{
last->next = temp;
last = temp;
}
}
};
オブジェクトの配列が一部の関数ファイルで使用されている
A * objA = A[100];
私が理解できないのは、の単一の値をどのように渡すかですobjOfB
。の最初から最後まで続く簡単な例がありobjOfB
ます。
for (B *temp = objOfB; temp != NULL; temp = temp->next) {
cout << temp->I << endl;
}
このループを関数ファイルで実行したいのですが、すべてを返さないメソッドは考えられませんobjOfB
(ループの最初の部分で使用されますB *temp = objOfB;
)。このループを実行するために作成したメソッドは次のとおりです。
B listOfBs() { return *objOfB; }
B toNextB() { return *objOfB->next; }
bool noLastB(){ return objOfB->next != NULL; }
そしてそれがどのように機能するかはループで使用されるかもしれません:
for (B *temp = listOfBs(); noLastB(); temp = toNextB()) {
cout << temp->I << endl;
}
ただし、3つの方法すべてがこのループに適しているわけではないことを理解しています。したがって、値を返すためのメソッドと、次の値を読み取る必要があることを通知するためのメソッドが必要です...私が達成しようとしていることがより明確にならないことを願っています。
メソッドを使用して構造体の値のコンテナクラスの動的配列を渡す方法は?