Bonjour à tous.
Je rencontre un petit problème : j'ai une classe A qui peut lever une exception lors de sa construction ; et une classe B contenant un objet de classe A en temps que membre privé et static.
Comment initialiser ledit membre en gérant une éventuelle exception ? Détail important : je ne peux pas instancier à la main dans le main (jeu de mot \o/) B::a pour diverses raisons ; il est nécessaire que ce soit B::B(int) qui soit chargé du travail. Il m'est possible de modifier B pour que son member privé static soit non plus un A mais un pointeur vers un A (A* ... autre jeu de mot \o/).
Petit récapitulaitif :
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class A { public: A() throw(int); ~A(); }; class B { public: B(int plop); ~B(); private: static A a; }; A B::a(42) // pas possible de mettre de try catch ici
Merci de votre aide.
Partager