Gibt es etwas falsch daran, eine einzelne Klasse (ein .h) über mehrere Quelldateien implementiert zu haben? Ich weiß, dass dies ein Symptom für zu viel Code in einer einzelnen Klasse sein könnte, aber ist da irgendetwas technisch falsch?Eine Klasse mit mehreren Implementierungsdateien
Zum Beispiel:
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()
{
}
Das würde mich batty fahren. Ich bin mir sicher, dass es gelegentlich gute (oder zumindest anständige) Gründe gibt, dies zu tun, aber aus der Perspektive, das Objektmodell zu verstehen, bleah ... Dateien springen zu müssen, um den Methoden zu folgen. – Joe
Wenn Sie eine Bibliothek erstellen, ermöglicht das Aufteilen jeder Funktion und global in ein eigenes Objekt, dass der Benutzer nur die Bits verknüpft, auf die er verweist, und nicht mehr. Es ist allerdings ärgerlich, damit zu arbeiten. – ephemient
@ephemient: Warum ist das wichtig? Konnte ein Linker die Funktionen, die Sie nicht verwenden, nicht entfernen? Oder dient es nur der Verbesserung der Verbindungszeiten? –