[POO] Déclaration d'instance avec constructeur dans un autre classe
Bonjour,
J'utilise visual C++ express 2008 comme IDE. J'ai des difficultés à déclarer une instance d'une classe A dans une classe B en utilisant le constructeur de A.
Je déclare et définit une classe A:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
class ClassA
{
private:
int a;
public:
ClassA(int a_init);
};
ClassA::ClassA(int a_init = 1)
{
a = a_init;
} |
Pour déclarer une instance de A dans la définition d'une classe B, j'utilise le code suivant:
Code:
1 2 3 4 5
|
class ClassB
{
ClassA myClassAinB(2);
}; |
La ligne "ClassA myClassAinB(2);" génére une erreur de compilation:
error C2059: erreur de syntaxe : 'constant'
- Le code compile si A n'a pas de constructeur ou un constructeur sans paramètres.
- "ClassA myClassA(2);" dans le main compile.
- Le code ne compile pas (même erreur) si je remplace le 2 de myClassAinB(2) par une variable, une constante...
J'ai recherché sur la faq et google mais je n'ai pas trouvé d'info sur la manière de déclarer une instance avec constructeur dans une autre classe.
Je pense que cela vient d'une syntaxe particulière que je ne connais pas...