¿Por qué se recomienda utilizar un archivo c y un archivo h respectivamente para la definición y declaración de funciones en programación modular?
Es posible hacer esto sintácticamente, pero no se recomienda en los estándares de programación.
Las funciones generalmente no se pueden definir en archivos de encabezado y solo se pueden declarar en archivos de encabezado. Debido a que una función solo se puede definir una vez, pero se puede declarar varias veces, cuando el archivo de encabezado se incluye varias veces, si hay una definición de función en el archivo de encabezado, se viola este principio
#ifndef XXX_H
#define XXX_H
clase CA {
......
}
#endif
Si no existe tal definición en el archivo de encabezado, la compilación no se realizará si se incluye varias veces.
Realmente no importa si la función está definida en el encabezado archivo o no, pero si el programa se proporciona a otros como una biblioteca, y cuando define una función en un archivo de encabezado, otros verán la implementación del programa, que está definido en .cpp. Cuando las personas lo usan, lo llaman. el archivo de la biblioteca. Lo que ven es sólo la declaración en el archivo de encabezado y no conocen el proceso de implementación.