Je voudrais être en mesure d'enregistrer mes classes dans un std::map
ou un vecteur, ne pensez pas à des doublons et autres pour l'instant, mais je ne veux pas l'enregistrer dans le appel de constructeur de classe ou tout dans la fonction de la classe, en quelque sorte le faire en dehors de la classe si même si je ne l'instancie jamais, je serais capable de savoir qu'il existe.En quelque sorte enregistrer mes classes dans une liste
Exemple:
// 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{
}
Ensuite, je ferais un #define
de celui-ci ou si possible, un modèle.
Je ne sais pas si je me suis fait clairement (encore une fois) ... Mon point est que j'ai besoin de connaître chaque classe que j'ai sans avoir à appeler chacun d'entre eux.
Mon idée était de créer un #define
pour le rendre plus facile de déclarer l'en-tête de la classe et appeler quelque chose qui enregistrerait cette classe spécifique à une liste
Cela peut-il être fait ou devrai-je la carte manuellement?
// desirable:
#define CLASSREGISTER(myclass) makethemagic(##myclass); class myclass {
};
Je sais, avec qui définissent je ne pouvais pas utiliser l'héritage etc ... Ce que je voulais essayer de donner un exemple de ce que je pensais de créer en quelque sorte ...
Je pense que vous devriez ajouter la balise 'design-pattern'. – Alexandru