1

ヘッダーファイルをインポートできるかどうか疑問に思っていましたが、そのヘッダーファイルに含まれているヘッダーは含まれていません。

クラスBをインポートするクラスAがあるとします。クラスBでは、クラスCをインポートします。クラスCをクラスAから非表示にする方法はありますか?

4

1 に答える 1

1

いいえ、それはできません。ファイルをインポートすると、そのすべてのインポートも同様に行われます。

ただし、のみを使用する場合は、のヘッダーをインポートする代わりに、独自のヘッダーで前方宣言するClassAことができます。ClassA

@class ClassA;

これで、型の変数を作成したり、戻り型やパラメータ型としてClassA*使用ClassA*したりできます。同時に、ClassAのヘッダーの依存関係は読み込まれません。

一般に、ヘッダー内にインポートするヘッダーの数を減らすことをお勧めします。たとえば、(インターフェイスではなく)実装に関連するインポートを.mファイルに移動し、クラス拡張子を使用します。

于 2012-05-17T14:51:55.763 に答える