Constructeur de la super-classe

Constructeur de la super-classe

par Eliot Bornand,
Number of replies: 1

Bonjour,

On vient de terminer de coder les classes Dessinable et SupportADessin, respectivement dans des fichiers "Dessins.h" et "Support.h" ( et les .cc évidemment). Mais le constructeur de Toupie suivant ne compile pas :

Toupie::Toupie (SupportADessin* support, double masse, Vecteur const& origine)    

: Dessinable(support), masse(masse), origine(origine) {}

avec comme constructeur de Dessinable : 

Dessinable::Dessinable(SupportADessin* support)   : support(support) {}

Le compilateur indique que le constructeur fait une "référence indéfinis" vers le constructeur de Dessinable (capture en pièce jointe). Je ne comprend pas pourquoi cela ne fonctionne pas, en sachant que j'ai bien fait tout les #include nécessaires.

Merci d'avance



Attachment Capture erreur.JPG
In reply to Eliot Bornand

Re: Constructeur de la super-classe

par Deleted user,

Le linker te dit qu'il ne trouve pas le constructeur. La compilation (création du fichier objet) se passe donc sans soucis, ce qui veut dire que tes includes sont à priori corrects.

Cependant, tu oublies d'inclure les fichiers Dessins.o et Support.o quand tu crées l’exécutable (regarde la commande g++ sur ta capture d'écran)! Le linker ne sait donc pas où trouver le corps du constructeur de Dessinable et te donnes une erreur.