C'è qualcosa di sbagliato nell'avere una singola classe (una .h) implementata su più file sorgente? Mi rendo conto che questo potrebbe essere un sintomo di troppo codice in una singola classe, ma c'è qualcosa di tecnicamente sbagliato in questo?Una classe con più file di implementazione
Ad esempio:
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()
{
}
Questo mi farebbe impazzire. Sono sicuro che ci sono motivi occasionalmente buoni (o almeno decenti) per farlo, ma dal punto di vista di cercare di capire il modello dell'oggetto, bleah ... di dover saltare i file per seguire i metodi in giro. – Joe
Se si crea una libreria, la suddivisione di ogni funzione e globale nel proprio oggetto consente al consumatore di collegare solo i bit a cui fa riferimento e non più. È fastidioso lavorare con, però. – ephemient
@ephemient: perché questo importa? Un linker non può escludere le funzioni che non usi? O è solo per migliorare i tempi di collegamento? –