1. ホーム
  2. c++

[解決済み] クラスプロトタイピング

2022-03-01 06:36:18

質問内容

クラスaの中にクラスbのインスタンスをいくつか入れましたが、クラスaはクラスbが何であるかを知らないので、エラーになります。

この問題を解決するには、b a c というファイルを書けばいいのですが、これでは到達可能性が台無しになるし、私を困らせることになります。関数をプロトタイプ化すれば、この問題が発生しないことは分かっているのですが、クラスをプロトタイプ化する方法についての資料が見つかりませんでした。

C++でクラスプロトタイピングの例をお持ちの方はいらっしゃいませんか?

ちょっと混乱してるようなので、私が欲しいものをお見せしましょう。

class A
{
public:

B foo[5];

};

class B
{
public:
int foo;
char bar;
}

もし関数なら、A(); と書いて、後でそれを実装します。

どのように解決するのですか?

すべてのクラスを宣言した後、次のように任意の順序で定義することができます。

// Declare my classes
class A;
class B;
class C;

// Define my classes (any order will do)
class A { ... };
class B { ... };
class C { ... };