[c++]classes mere/fille

Fermé
Utilisateur anonyme - 3 févr. 2010 à 10:23
 Utilisateur anonyme - 3 févr. 2010 à 14:20
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

Utilisateur anonyme
3 févr. 2010 à 14:20
mon compilateur est gcc, mais sinon j'ai fais autrement, merci =)

j'ai un autre soucis mais je devrais m'en sortir ^^
1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
3 févr. 2010 à 11:34
Tu as mis un "e" dans la classe mère...
0
Utilisateur anonyme
3 févr. 2010 à 12:25
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 ;) )
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
3 févr. 2010 à 12:49
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.
0
Utilisateur anonyme
3 févr. 2010 à 12:58
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;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
3 févr. 2010 à 14:04
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 ?
0