BenGourion73
Messages postés9Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention 2 mars 2009
-
20 août 2008 à 19:13
BenGourion73
Messages postés9Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention 2 mars 2009
-
22 août 2008 à 12:02
Une question bête : J'ai plusieurs instances statiques de classes déclarées dans mon prog. Par exemple,
static TotoClasse TotoDefault;
mais par ailleurs, j'ai aussi un classe Toto2 qui contient en membre une instance de Toto. Par ailleurs, une instance statique de Toto2 :
static Toto2 Toto2Default;
sachant que le constructeur par défault de Toto2 est
Toto2();
{
*this = TotoDefault
};
Bien sur à l'exécution, c'est la construction de Toto2Default qui est faite en premier et qui plante puisque TotoDefault n'a pas été crée en premier. Questions :
1/ Quel est l'ordre de construction par défaut des objets statiques
2/ Comment peut-on forcer cette ordre ?
A voir également:
Une référence de membre non statique doit être relative à un objet spécifique
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 20 août 2008 à 19:52
Et si tu fais :
static Toto2 Toto2Default=TotoDefault;
au lieu de faire la copie dans le constructeur?
Sinon pour répondre à ta question, je ne sais pas si on peut régler l'ordre.
Si tu veux avoir le contrôle absolu, déclare seulement des pointeurs en static puis fais une fonction d'initialisation (et d'allocation du coup) en début de code.