Appel d'un constructeur avec paramètres dans un constructeur d'une autre classe.
Bonjour,
Je n'arrive pas à trouver la bonne syntaxe pour appeler un constructeur avec paramètre dans un constructeur d'une autre classe ... voici un exemple de code pour expliquer mon PB :
La première classe A possède un constructeur par paramètre qui prend en entrée deux pointeurs sur des objets de classe C et D
et également un constructeur sans paramètre
Code:
1 2 3 4 5 6 7 8
| class A {
public:
A( C * param1, D * param2);
A();
virtual ~A();
}; |
la classe B possède un attribut privé "toto" qui est une instance de la classe A
le constructeur de B prend également des pointeurs sur C et D en paramètre
Code:
1 2 3 4 5 6 7 8 9 10
| class B {
private :
A toto;
public:
B( C * param1, D * param2);
virtual ~B();
}; |
le problème apparait lors de l'écriture du constructeur de la classe B pour instancier correctement la variable "toto"
Code:
1 2 3 4
| B::B( C * param1, D * param2)
{
toto(param1, param2); // error: type 'A' does not provide a call operator
} |
C'est là que je n'utilise pas la bonne syntaxe :(
j'ai également essayé ceci :
Code:
1 2 3 4
| B::B( C * param1, D * param2)
{
A toto(param1, param2);
} |
mais dans ce cas c'est le constructeur A(); qui est exécuté par mon programme ...
Je n'arrive pas à trouver l'erreur (qui est sans doute évidente)
merci pour votre aide :)