¿Hay algo de malo en tener una sola clase (una .h) implementada en varios archivos de origen? Me doy cuenta de que esto podría ser un síntoma de demasiado código en una sola clase, pero ¿hay algo técnicamente incorrecto en ello?Una clase con varios archivos de implementación
Por ejemplo:
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()
{
}
Eso me volvería loco. Estoy seguro de que en ocasiones hay buenas (o al menos decentes) razones para hacer esto, pero desde la perspectiva de tratar de entender el modelo de objetos, bleah ... tener que saltar archivos para seguir los métodos. – Joe
Si construye una biblioteca, dividir cada función y global en su propio objeto permite al consumidor vincular solo los bits que hacen referencia y nada más. Sin embargo, es molesto trabajar con él. – ephemient
@ephemient: ¿Por qué esto importa? ¿No podría un enlazador quitarle las funciones que no usa? ¿O es solo para mejorar los tiempos de enlace? –