main関数のあるmain.cppと自作のファイルfunc.cppとそのヘッダーファイルfunc.hの3つがあるとします.
main.cppでは#include "func.h"をしてfunc.cpp内にある関数を使います.
ここから質問なのですが,こういった状況でfunc.cpp内の関数でcoutを使うためiostreamをインクルードする時に,インクルードはfunc.h内で行うのかfunc.cpp内で行うべきなのかを教えて下さい.
C++を複数ファイルに分けた先でのインクルードについて
Re: C++を複数ファイルに分けた先でのインクルードについて
あくまで私個人の考え方ですが、func.h で iostream をインクルードすることは、無いです。
ヘッダーファイルは、その関数(ここではfunc.cpp)を使う側のためのものと考えるからです。
使う側にとって、iostream を使っているかどうかはあまり関係ないことなので、
必要の無いものはインクルードしないのが、私の方針です。
もちろん、インライン関数などで必要ならインクルードします。
ヘッダーファイルは、その関数(ここではfunc.cpp)を使う側のためのものと考えるからです。
使う側にとって、iostream を使っているかどうかはあまり関係ないことなので、
必要の無いものはインクルードしないのが、私の方針です。
もちろん、インライン関数などで必要ならインクルードします。
Re: C++を複数ファイルに分けた先でのインクルードについて
Bullさん,回答してくださってありがとうございます.
自分もインクルードは使用するファイル内でインクルードするように決めてプログラムを作っていきたいと思います.
自分もインクルードは使用するファイル内でインクルードするように決めてプログラムを作っていきたいと思います.