1

ヘッダーファイルに基本クラス A があります Ah

class A{};

A.cpp には、いくつかのサブクラスがあります。

class B: public A{};
class C: public A{};

タイプ B と C を別のファイルでインスタンス化したいのですが、他のファイルに A.cpp を含めないと方法がわかりません。次のように Ah で B と C を前方宣言すると、次のようになります。

class B;
class C;

次に、インスタンス化するクラスは、A から派生したことを知りません。この問題をどのように解決しますか?

ありがとう、エリック

4

2 に答える 2

0

Ah などのヘッダー ファイルで宣言Aし、そのファイルを B.cpp と C.cpp にインクルードする必要があります。また、非inline関数がいくつかある場合A(宣言で定義された関数Aは暗黙的inlineに)、A.cpp を作成し、そこに Ah をインクルードする必要があります。同様に、それらの関数を A.cpp で定義します

于 2013-04-29T15:51:00.973 に答える