複数のソースファイルに1つのクラス(1つの.h)を実装すると何か問題はありますか?私はこれが単一のクラスで多すぎるコードの症状になる可能性があることを認識していますが、技術的に何か問題がありますか?例えば複数のインプリメンテーションファイルを持つ1つのクラス
:
foo.hという
class Foo
{
void Read();
void Write();
void Run();
}
Foo.Read.cpp
#include "Foo.h"
void Foo::Read()
{
}
Foo.Write.cpp
#include "Foo.h"
void Foo::Write()
{
}
Foo.Run.cpp
#include "Foo.h"
void Foo::Run()
{
}
それは私をひどく運転するでしょう。私は確かにこれを行う理由は良い(または少なくともまともな)理由があるが、オブジェクトモデルを理解しようとする観点から、...ファイルをジャンプしてメソッドを回避する必要があります。 – Joe
ライブラリを構築する場合、関数とグローバルをそれぞれのオブジェクトに分割することで、消費者は参照するビットだけをリンクすることができます。しかし、それを扱うのは面倒です。 – ephemient
@ephemient:これはなぜ問題なのですか?あなたが使用していない機能をリンカが取り除くことはできませんでしたか?それとも、リンク時間を改善するだけですか? –