Является ли дурным тоном описывать и реализовывать несколько классов в одном файле-заголовочнике и одном .срр-файле соответственно?
Например, я имею некий класс окна с несколькими виджетами на нем. Среди них есть QTreeView и QTableView, базирующиеся на своих моделях, унаследованных от QAbstractItemModel. Можно ли объявить все три класса в одном .h файле и реализовать их в одном .срр файле? Или лучше как в java, один класс - один файл?
Из моих наблюдений, многие open-source проекты запросто объединяют несколько классов в один файл. Как правило, объединённые классы зачастую являются наследниками одного и того же класса, либо наследниками друг друга. Объединение происходит по принципу функциональности и использовании классов в Вашей программе.
Например, все классы, которые унаследуют от некого QUndoCommand можно разместить в один файл "UndoCommands.h". Как правило, унаследованные классы будут достаточно маленькими по содержанию (только 2 пере-определённые функции - undo() и redo() в каждом). При использовании классов, гораздо проще включить один файл #include "UndoCommands.h", чем перечислять все многочисленные унаследованные классы, если бы каждый из них находился в отдельном файле.
Продвижение своими сайтами как стратегия роста и независимости