Inicialización de variables estáticas sobre una biblioteca

Estoy trabajando en una fábrica que tendrá tipos agregados, sin embargo, si la clase no se inicia explícitamente en el .exe que se ejecuta (tiempo de compilación), entonces el tipo no se agrega a la fábrica. Esto se debe al hecho de que la llamada estática no se realiza. ¿Alguien tiene alguna sugerencia sobre cómo solucionar esto? A continuación hay cinco archivos muy pequeños que estoy poniendo en una biblioteca, luego un .exe llamará a esta biblioteca. Si hay alguna sugerencia sobre cómo puedo hacer que esto funcione, o tal vez un mejor patrón de diseño, hágamelo saber. Aquí es básicamente lo que estoy buscando

1) Una fábrica que puede admitir tipos

2) Registro automático para ir en el archivo de clases .cpp, todos los códigos de registro deben ir en la clase .cpp (para el ejemplo a continuación, RandomClass.cpp) y ningún otro archivo.

BaseClass.h:http: //codepad.org/zGRZvIZ

RandomClass.h:http: //codepad.org/rqIZ1at

RandomClass.cpp:http: //codepad.org/WqnQDWQ

TemplateFactory.h:http: //codepad.org/94Yfusg

TemplateFactory.cpp:http: //codepad.org/Hc2tSfz

Respuestas a la pregunta(3)

Su respuesta a la pregunta