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.