Совершенно согласен с другими ответами, и я хотел бы добавить свой кусок:
Разбиение на несколько файлов также облегчает использование редактора. Затем вы можете использовать несколько вкладок. (Представьте, что ваш браузер отображал все ваши страницы одну за другой только в одном окне!)
Можно даже разбить реализацию класса на несколько файлов, если реализация большая.
С другой стороны, иногда есть причины помещать несколько классов в один файл, например, когда эти классы малы и / или очень тесно связаны. Например, FooObject и FooAllocator или FooObject и его маленький FooSubObject , используемый только им.