Me gustaría poder registrar mis clases dentro de un std::map
o un vector, no piense en duplicados y tales por ahora, pero no quiero registrarlo en el llamada de constructor de clase o cualquiera dentro de la función de la clase, de alguna manera hacerlo fuera de la clase, así que incluso si nunca lo instancia, podría saber que existe.De alguna manera, registrar mis clases en una lista
Ejemplo:
// Somehow, from outside the myclass, in a scope that will be called
//in the begining of the proccess, add "MyClass1" to a
//list so it can be instanciated later
class MyClass1{
}
Entonces me haría un #define
de ella o si es capaz, una plantilla.
No sé si me hice claro (de nuevo) ... Mi punto es que necesito saber cada clase que tengo sin tener que llamar a todos y cada uno de ellos.
Mi idea era crear un #define
para que sea más fácil para declarar la cabecera de la clase y llamar a algo que podría registrar esa clase específica a una lista
Se puede hacer esto o voy a tener que asignar manualmente?
// desirable:
#define CLASSREGISTER(myclass) makethemagic(##myclass); class myclass {
};
sé, que definen con que no podía utilizar la herencia, etc ... Mi punto era tratar de dar un ejemplo de lo que estaba pensando para crear de alguna manera ...
Creo que deberías agregar la etiqueta 'design-pattern'. – Alexandru