[c++]classes mere/fille

Bonjour,
voila mon petit soucis :

j'ai ma classe mere :
class cMere
{
public :
void Methode();
};

et ma classe fille :
class cFille:public cMere
{
public :
void AutreMethode();
};

dans mon main si je fais :

cFille * pFille;
pFille->Method();

voila, la ca me dis que Method() ne fait pas partis de cFille et pourtant c'est la classe mere ... je comprends pas x)

si vous savez, pourriez-vous m'aider?

merci d'avance !

5 réponses

  1. Contributeur
    Tu as mis un "e" dans la classe mère...
    1. oui fin c'était un exemple, j'ai pas fais juste ca =) (en gros, c'est pas l'orthographe qui est en cause pour moi ;) )
  2. Contributeur
    prouve le contraire, fait un copier coller.
    Montre nous un code de base où ça ne fonctionne pas. Et la sortie erreur exacte du compilateur.
    1. classe mere
      class cVoiture : public cModel
      {
      	private :
      		int * NumSerie;
      		int NbrVoit;
      	public :
      		cVoiture(int maxVoit);
      		cVoiture( cVoiture& tVoiture );
      		~cVoiture();
      		int * retNumSerie(){return NumSerie;}
      		int retNbVoit(){return NbrVoit;}
      		int AjouterVoiture( string tNom , int tVitMax , int tPrix , int tNumSerie );
      		int* Recherche( string tNom , int tVitMax , int tPrixHT , int * nbr );
      		string RechercheAll( string tNom , int tVitMax , int tPrixHT );
      		string Voiture( int id );
      		string retourAll();
      };


      classe fille
      class cNeuf: public cVoiture
      {
      	private :
      		int ** mill;
      		int NbrNeuf, Max;
      	public :
      		cNeuf(int max);
      		cNeuf( cNeuf& tNeuf);
      		~cNeuf();
      		int retNbNeuf(){return NbrNeuf;}
      		int ** retMill(){return mill;}
      		string RechercherNeuf( int tMill , string tNom , int tVit , int tHT );
      		string TouteNeuves(){return retourAll(); }
      		void AjouterNeuf( int tMill , string tNom , int tVit , int tHT , int tNumSerie );
      
      };

      et le main
      int main()
      {
          cNeuf * pNeuf;
          pNeuf = new cNeuf(50);
          cout << pNeuf->retourAll() << endl; //erreur ici (retourAll ne fait pas partis de pNeuf)
          return 0;
      }
      
      1. Contributeur
        sans conviction, essai ça :
        cout <<( pNeuf->retourAll() )<< endl;

        Moi j'ai ça comme retour d'erreur, ce qui n'a rien à voir :
        undefined reference to `cNeuf::cNeuf(int)'
        undefined reference to `cVoiture::retourAll()'

        Quel est ton compilateur ?
        1. mon compilateur est gcc, mais sinon j'ai fais autrement, merci =)

          j'ai un autre soucis mais je devrais m'en sortir ^^