> 両方のファイルの関数定義が一致していないと
> リンクで怒られるので

普通、コンパイル時に怒られるはずだが…。

> C++の仕様の都合上ヘッダをインクルードさせ
> なければいけないので

なに言ってんの、この人?

なんか、ヘッダファイルを根本的に勘違いしてる悪寒。