[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux] C++ , problemes
> Peut-etre cela vient-il de ton compilateur:
> d'apres ma courte experience, le "=0;" ne passait pas trop
> a la compil avec "g++". C'est peut-etre une c... mais essaye
Non non non, la...
Ca fonctionne parfaitement bien avec g++ (et c'est de loin un
des meilleurs compilos C++ au point de vue conformité avec le
standard ANSI C++).
> en remplacant "=0;" par {}.
C'est pas pareil...
...
> > dans une fichier layers.h une classe definie:
> >
> > class layer2 {
> >
> > public:
> >
> > virtual char* name () = 0;
> > virtual void checkLayer() = 0;
> >
> > };
> >
> > dans un autre, j'herite:
> >
> > class ether:public layer2 {
> >
> > public:
> >
> > char* name() {}
> > void checkLayer() {}
> >
> > };
> > au link, j'ai une merde:
Déjà, tu dois absolument les mettre virtual aussi dans la
classe dérivée (ether):
virtual char* name() {}
virtual void checkLayer() {}
Et puis, en passant (un peu de "good practice" ;)), ta méthode
name() c'est certainement
virtual const std::string getName() const {}
ou
virtual const char* getName() const {}
que tu voulais faire, non ? ;))
...
> > Kesako ??? une idee pour moa ?
Oui: il te manque le "virtual" dans la classe dérivée.
--
-o) / Pascal Bleser ATOS Origin|
/\\ \ e-Business Platform Aachen, Germany|
_\_v \<guru@linuxbe.org> <pbleser@atosorigin.com>|
---------------------------------------------------|
Jesus saves, but Buddha makes incremental backups :
---------------------------------------------------'
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php ]
[ http://LinuxBe.org Contact: listmaster@linuxbe.org ]