Bonjour à tous,
venu au c++ pour des applications de calcul scientifique j'arrive aujourd'hui devant un problème d'utilisation d'une classe abstraite.
Pour le projet j'ai en effet défini une classe abstraite 'FFAtom', schématiquement:
Maintenant j'aimerais définir une classe 'FFEvent' pour gérer le comportement de tous mes atomes. Chaque évènement contenant un atome, je me suis orienté vers la composition. Comme une classe abstraite ne peut être instanciée, je suis d'abord passé par un pointeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class FFAtom{ double time; public: double getTime(); virtual void update() = 0; }
ce qui avait fait l'affaire pendant un moment. Depuis, j'ai rajouté des méthodes non-virtuelles à la classe 'FFAtom' (comme 'getTime()' dans l'exemple) et le compilateur (g++) utilisé en mode debug renvoie alors l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 class FFEvent{ FFAtom* atom; }
'error: ISO C++ forbids declaration of 'FFAtom' with no type'
J'avoue être un peu surpris du changement et je cherche à comprendre le problème. Je vous remercie d'avance pour vos contributions.
Partager