現在のプログラミング プロジェクトについて考えているときに、次の問題にぶつかりました
。以下のコードで概説するように、2 つのテンプレート クラスがあり、それぞれが他のクラスの呼び出しを呼び出すことができる必要があります。
質問:このコードを別のヘッダー ファイル (A 用と B 用) に保持する方法はありますか?
template <typename T>
class B;
template <typename T>
class A {
public:
void foo() {
m_b->bar();
}
void bar() {
// ...
}
private:
B<T> *m_b;
};
template <typename T>
class B {
public:
void foo() {
m_a->bar();
}
void bar() {
// ...
}
private:
A<T> *m_a;
};
編集:本当の問題は
、ファイル Ah と Bh がある場合、Ah だけを含む別のファイルから A::foo() を呼び出す方法はありますか?