Olá João, tudo bem?
Entendo a sua preocupação em relação às boas práticas em C++. É importante sempre buscar a melhor forma de organizar e estruturar o código para evitar problemas futuros.
Sobre a sua dúvida em relação ao uso de arquivos hpp e cpp, é importante lembrar que o arquivo hpp é responsável por definir as declarações das funções e variáveis, enquanto o arquivo cpp é responsável por implementar essas funções e variáveis.
Uma boa prática é manter a definição das funções e variáveis no arquivo hpp e implementá-las no arquivo cpp correspondente. Dessa forma, é possível separar as responsabilidades de cada arquivo e facilitar a manutenção do código.
No entanto, em alguns casos específicos, pode ser necessário incluir os arquivos cpp no arquivo main para evitar erros de indefinição de referência. Essa não é uma prática recomendada, mas pode ser uma solução temporária.
Caso opte por essa solução, é importante lembrar de incluir apenas os arquivos cpp necessários e evitar a duplicação de código. Além disso, é importante estar atento a possíveis problemas futuros que possam surgir com essa abordagem.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!