vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
25 août 2005 à 15:58
xterminhate
Messages postés371Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention23 septembre 2009
-
26 août 2005 à 18:56
Bonjour
J'ai la hiérarchie de classes suivante: A0, A1, A2, A3, A4... sont des sous-classes de A.
J'ai besoin d'instancier une de ces sous-classes selon la valeur d'une variable n. Pour le moment j'ai un code qui ressemble à ca:
A* p;
switch(n)
{
case 0:
p = new A1();
break;
case 1:
p = new A1();
break;
...
}
J'aimerais une solution plus jolie que ca, d'autant qu'il y a en réalité environ 15 sous classes.
J'ai pensé à un tableau de A* contenant un spécimen de chaque sous-classe, et utiliser une méthode virtual A* A::make(...)=0 pour créer un objet (les constructeurs actuels des sous-classes prennent les mêmes paramètres).
Cette solution vous semble-t-elle plus efficace, ou en avez vous une autre?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 26 août 2005 à 16:43
Je comprends, mais dans mon cas j'ai 15 classes et ca ne change pas pendant l'exécution
xterminhate>Je viens de comprendre "TC++PL ed.3" :)
J'ai commencé mais j'ai pes eu le courage de lire la fin, qui traite de
la conception et de principes de programmation. C'est sans doute dans
cette partie que l'exemple est traité. J'ai la version 4 (). Si tu as la page...