クラスBのキューにAからアクセスするにはどうすればよいのか分かりますが、セグメンテーション違反が発生しています。また、私はこれらの2つのクラス間で通信するための最善の方法を探しています。このシナリオでアクセサーメソッドは問題ありませんか?どのようなデザインパターンが使えますか?コメントの問題に言及したように感謝C++でのクラスデータメンバ間の通信
class B {
public:
int get_int() { return qi.front(); }
void put_int(int i) { qi.push(i); }
private:
queue<int> qi;
};
class A
{
public:
void get_event() { cout << b->get_int() << endl; }
void put_event(int a) { b->put_int(a); }
private:
B *b;
};
int main() {
A a;
a.put_event(1);
return 0;
}
'A :: b'はランダムなガベージを含む初期化されていないポインタです。プログラムは未定義の動作を示します。実際には 'B'のインスタンスを作成することはありません。 –