Bonjour,

J'ai une classe virtuelle IPluginDescriptor qui décrit une méthode virtuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class IPluginDescriptor : public IDataModel
{
public:
    virtual AnsiString getLabel() =0;
....
};
J'ai une autre classe virtuelle ITechnicDescriptor qui hérite de la première :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
class ITechnicDescriptor : public IPluginDescriptor
{
public:
....
};
Et enfin, une classe qui hérite de ITechnicDescriptor :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
IMPORT_EXPORT class TTechnicDescriptor : public ITechnicDescriptor
{
....
 
public:
	AnsiString getLabel();
....
};
qui implémente getLabel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
AnsiString TTechnicDescriptor::getLabel()
{
	return this->viewPartDescriptorLoader.getLabel();
}
Quand je compile, j'ai l'erreur :
[BCC32 Erreur] SimplePluginEntry.cpp(59): E2352 Impossible de créer une instance de la classe abstraite 'TTechnicDescriptor'

[BCC32 Erreur] SimplePluginEntry.cpp(59): E2353 La classe 'TTechnicDescriptor' est abstraite parce que 'ITechnicDescriptor::getLabel() const = 0'
Je ne comprend pas pourquoi, une idée?