0

さて、これはかなり些細な質問です。しかし、複数のクラスを 1 つのヘッダー/ソース ファイルに入れてもよいかどうかを知りたいです。Java のように、すべてのクラスに別のヘッダーと別のソース ファイルがあることをよく見てきました (規約だけでなく...)

ここには浮き沈みが見られます。一方では、大きなプロジェクトでは、それらを少し検索する必要がある場合があるため、編集のためにいくつかの関連クラスを 1 つの場所に配置したい場合があります。一方、ファイル数が多いほど、単一ファイルの重さが軽くなるため、検索しているメソッドにたどり着くまで何千行もスクロールする必要はありません。

条約はそれについて何と言っていますか?

[例]

現時点では、1 つのファイルに 3 つのクラスがあります。サーバー、サーバーの ClientHandler、および ServerManager です。サーバーは接続を管理し、ClientHandler は各クライアントのすべての送受信トラフィックを管理し、ServerManager にはサーバーを実行するために必要なロジックが含まれています。

[編集] 私の英語能力に優しくしてください、私は外国人です ;)

4

2 に答える 2

1

常識以外に本当のルールはありません。2 つのクラスが密接にリンクしている場合、それらを同じヘッダーに配置するのが一般的です。もちろん、C++ のすべてがクラスというわけではありません。無料の関数は、最も論理的と思われるものに従って、さまざまな異なるヘッダーにグループ化できます。

また、ヘッダーとソース ファイルの間に常に 1 対 1 の関係があるとは限りません。クラスがテンプレートの場合、ソース ファイルがまったく存在しない可能性があります。一方、広く使用されるライブラリを作成していて、クラスがポリモーフィックでない場合は、各関数を個別のソース ファイルに配置することをお勧めします。

また、多くのクラスは、ヘッダーではなく、ソース ファイルで直接定義されています。

于 2013-08-27T15:19:39.177 に答える