Nella mia azienda esiste una regola implicita per non definire più classi all'interno di un file .cpp. L'argomentazione è che sembra un disastro e difficile da leggere. Ma secondo me avrà senso se le classi sono correlate e non destinate ad essere utilizzate al di fuori dell'unità di compilazione. Esempio:
example.h:
class ExampleState;
class Example {
...
void SomeMethod();
private:
ExampleState* state_;
}
example.cpp:
class ExampleState {
...
}
Example::SomeMethod() {
state_ = new ExampleState();
...
}
Qual è il tuo suggerimento?