[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  ]