Совет иметь объявления (прототипы функций) больше связан с C, чем с C ++, потому что в C ++ нет неявных объявлений функций, поэтому вы всегда должны объявлять их перед использованием. Поэтому у вас обязательно будет хотя бы одно объявление функции, которое не является определением, если у вас есть рекурсия, включающая более одной функции.
Для небольшого проекта используйте любой стиль, который хотите, но будьте последовательны.
Для большого проекта вам, вероятно, понадобится несколько файлов .cpp и интерфейсы (будь то классы или функции), определенные в заголовочных файлах. Также будьте последовательны, по крайней мере, в одном файле.
И последнее, я сказал, чтобы быть последовательным?