Classe abstraite et methode static de factory
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
Code:
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;
}; |
Pour AA et AB
Code:
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:
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 ;)