Если некоторые классы короткие и кажутся встроенными, я склоняюсь к тому, чтобы поместить их все вместе в types.h
- единственный заголовок, который я не считаю заслуживающим файла .cpp.
Однако большинство классов перерастают как шанс войти только в заголовок, так и шанс войти в types.h
.
Несколько примеров из того, что я делаю. Я считаю, что класс для реализации трехмерного вектора Vector3
заслуживает его .h и .cpp, несмотря на свою простоту. Но Position
на самом деле не заслуживает этого; в конце концов, это даже был бы P.O.D. структура, если бы не то противное getDistance()
, которое мне нравится реализовано там.
Так что нет - не все классы заслуживают своих файлов .cpp и .h. Но большинство так и поступает, а те, кто не определенно, не стоят в одиночестве. Если они настолько короткие, что могут поместиться только в заголовке, они либо обнимаются вместе с другими короткими классами, либо идут в заголовок класса, с которым они тесно связаны.