0

別のクラスをインクルードするときは、必ず #include "headername.h" を記述する必要があります。他のクラスを記述したり、「#include」で複数のクラスを含めたりせずにアクセスすることは可能ですか?

4

2 に答える 2

1

ディレクティブが行うことは、#includeまさにその名前が示すとおりで、必要なファイルの内容を文字通りソースに含めます。これは、実際のコンパイラがソースを取得する前の、コンパイル プロセスの早い段階で行われます。すべてのヘッダー ファイルを含むソースは翻訳単位と呼ばれ、コンパイラが作業するのはこの翻訳単位です。

ヘッダー ファイルが必要な理由については、C++ を使用する前にすべてを宣言または定義する必要があることを思い出してください。という名前のクラスがあることをコンパイラが認識しない場合、Footype の変数を宣言することはできませんFoo#includeそこにヘッダーファイルが定義されていない場合Foo、コンパイラーはそのようなクラスがあることを単に認識しません。

多くのソース ファイルに多くのヘッダーをインクルードしなければならなくなった場合は、他のヘッダー ファイルをインクルードすることのみを目的として、共通のヘッダーを別のヘッダー ファイルに入れることができます。たとえば、多くのソース ファイルに<string><vector>およびが含まれている場合は、「含む<iostream>」という名前のファイルを作成します。headers.h

#ifndef HEADERS_H__
#define HEADERS_H__

#include <iostream>
#include <string>
#include <vector>

#endif // HEADERS_H__

次に、代わりにこのファイルをソース ファイルに含めることができます。

#include "headers.h"
于 2013-08-19T13:50:38.653 に答える
0

必要なインクルードを含む独自のヘッダー ファイルを作成し、このヘッダー ファイルをインクルードできます。

于 2013-08-19T13:48:40.177 に答える