はプログラム説明反復は
私は三つのクラスがあります:A、BおよびCのこの質問の目的のために
は、クラスBは、単純にID変数が含まれており、それらのセッターとゲッターと一緒に、状態変数を作成します。クラスAには、ユニットIDを使用してユニットを保存、削除、変更または比較する機能とともに、Bオブジェクトのベクトルが含まれています。
クラスCにはブラックボックスと通信する機能が含まれていますが、このブラックボックスにはクラスAと同じベクトルが含まれていますが、状態は更新されています。
この記事の末尾には、基本情報を含むクラスの大まかな例が示されています。
問題私はIDを取得したいすべての要素のクラスA.で見つかったベクトルを反復処理したい私のメインウィンドウで
、クラスCに渡し、そしてクラスが返すC持っています更新された状態。私は何を意味するかを説明するために原油を描いたsequence diagramです。
私の問題は、適切に[クラスCに送信されるIDを取得するためには、クラスAのベクトルを反復処理する方法です
は私はこの時点で考えられてきたものは、以下に似て何かがあります(注:クラスAのベクトルが自動的にこの質問の目的のために移入さ):
int main() {
...
...
for(int i = 0; i < A.getVectorSize(); i++) {
char ID = A.getID(i);
bool state = C.getState(ID);
A.updateState(ID, state);
}
}
これは私がこのタスクを実行する方法についての提案を求めている理由である、正確には非常に鮮やかではありません。私はシステムの大まかな"Overview" imageを作成しました。私の図面の判読不能の謝罪。
クラス
class A {
public:
void updateStatus(char ID, bool status);
...
...
private:
vector<B> b_Storage;
}
class B {
public:
getters & setters
private:
char ID;
bool state;
}
class C {
public:
bool getState(char ID);
...
private:
...
}
あなたのためにこれを行うAの関数があるようなサウンド。そうすれば、関数内でベクトルを直接操作することができます。 – NathanOliver
私はそれが十分に素晴らしいと思います! – AhmadWabbi