singleton, polymorphisme, et surcharge de fonction
Salut !
J' ai 2 classe de base: VFILE et VTEXTURE. VTEXTURE est une classe singleton. J' essaye d' utiliser le tout dans une class DATA qui utilise le polymorphisme. Mais, problème, les methodes des classes que je voulais utiliser polymorphiquement ont des prototypes differents !
Pour resoudre ce problème, j' ai penssé à la surcharge des methodes. Je m' explique:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
class DATA
{
public:
virtual void init(int) = 0;
virtual void init(float) = 0;
virtual ~DATA() { };
};
class VFILE : public DATA
{
public:
void init(int);
};
class VTEXTURE : public DATA
{
public:
void init(float);
static VTEXTURE* getInstance();
private:
VTEXTURE() { };
static VTEXTURE *instance;
}; |
Mais le compilateur me mets un mesage assez incomprehensible:
Code:
1 2 3 4 5 6 7
|
VTEXTURE.cpp: Dans static member function « static VTEXTURE*
VTEXTURE::getInstance() »:
VTEXTURE.cpp:10: error: cannot allocate an object of type `VTEXTURE'
VTEXTURE.cpp:10: error: because the following virtual functions are abstract:
DataManager.h:12: error: virtual void
DataManager::init(int) |
Merci d' avance.