¿Qué significa hpp?
Cuando varias personas que llaman incluyen hpp, se producirá un error de redefinición de símbolo durante la vinculación. Para evitar esta situación, es necesario eliminar el objeto global y encapsular las funciones globales como métodos estáticos de la clase.
Escenarios de aplicación de Hpp.
En el escenario hpp, dado que la definición y la implementación ya existen en un archivo, la persona que llama debe conocer claramente todas las definiciones de la persona que llama y no puede esperar a que se compile cpp. Por lo tanto, en hpp, la relación de llamada entre clases debe resolverse y no pueden ocurrir llamadas circulares.
La limitación de usar miembros estáticos es que si la clase contiene miembros estáticos, el código de inicialización del miembro estático debe agregarse al archivo hpp. Cuando hpp se incluye en varios documentos, se producirá un error de redefinición de símbolo. La única excepción son los miembros enteros estáticos constantes, ya que en vs2003 este tipo permite la inicialización en el momento de la definición.