Probleme avec heritage

cs_jonas03 Messages postés 52 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 7 mars 2010 - 5 mai 2009 à 18:26
cs_jonas03 Messages postés 52 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 7 mars 2010 - 20 mai 2009 à 11:23
Bonjour a tous,


J'ai un problème dans mon code source et j'essaie depuis plusieurs jours a trouver mon erreur mais en vain.

Mon code contient de l'héritage, entre autre, et j'ai une saturation mémoire depuis que je l'ai installé.

Si vous voulez le code source je veut bien vous le donner en MP car il est long et comme je sais pas ou se situe l'erreur...

1 réponse

cs_jonas03 Messages postés 52 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 7 mars 2010
20 mai 2009 à 11:23
Edit : Voici mon erreur : j'ai une classe personne et 2 classe dérivées interne et externe mais je veut créer dans mon main une personne mais je ne sais pas encore de quel type elle appartient :

Dans le main :
 switch(Option)
     {
     case 1 :   pEle = new personne;     //Impossible de creer (normal il y a une methode abstraite ...)
                pEle->Saisir();                //Dans cette methode je choisi le type de personne
                Entreprise.Ajouter(pEle);
     break;

Differentes classes :
 class personne
    {
    protected:
    char Nom[10+1];
    char Prenom[10+1];
    char Matricule[10+1];
            int prix;
        int Fax;
    public:
    personne(char*No="", char*Pre="", char *Mat="");

    void Affiche();
    void Saisir();

    virtual int GetSalaire() const = 0;

     personne*pSuivant; // pointeur vers l'objet suivant

     class Externe : public personne
{
    public:
        Externe(int p) {Fax = p;}

        int GetSalaire() const
          {
            int sal = 2500;
            return sal;
        }

    protected:
        int Fax;
};

class Interne : public personne
{
    public:
        Interne(int p) {prix = p;}

            int GetSalaire() const
          {
            int sal = 1200;
            return sal;
        }

    protected:
        int prix;
};
0
Rejoignez-nous