Bonjour,
J'aimerai créer une classe abstraite A et deux classe dérivante AA et AB
Je veux que la classe A contienne une méthode static pour la création des objets de type AA et AB et une méthode virtuel implémenté dans AA et AB
J'ai donc le code suivant
Pour AA et AB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class A { public: static A Create(BOOL bIsB = false); ~A(void); protected: A(void); virtual void Run()=0; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class AA : public A { public: AA(void); ~AA(void); virtual void Run(); };
Pour la méthode Create j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 A A::Create(BOOL bIsB) { if(bIsB) return AB(); else return AA(); }
Et à la compilation j'ai une erreur : error C2259: 'A'*: impossible d'instancier une classe abstraite
J'ai loupé quelque chose???
Merci pour vos lumières
Partager