Instancier une classe donnée dans une autre classe
Bonjour à toutes et à tous,
J'ai une problème d'instanciation. Je dispose d'une classe de base A et de deux classes enfants de A : B et C.
Je crée enfin une classe D enfant de B et dans laquelle je souhaite avoir une instance de C. C'est là que je n'y arrive pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class A {
A();
};
class B : public A {
B(int);
};
class C : public A {
C(int, int);
};
class D : public B {
D(int, int, int);
C c(int,int); // une instance de C ???
};
D::D(int a, int b, int c) : B(int) {
// je suppose que c'est ici que je dois instancier C, mais après avoir essayé divers trucs, je m'aperçois que je ne sais pas faire
} |
Jusque là, ça colle. Mais apparemment, si la dernière ligne de la classe D déclare une classe C en son sein, pour autant, cette déclaration ne constitue pas une instanciation de cette classe. Comment faire pour qu'il y ait instanciation ?
Merci de votre aide.
Pierre