Porbleme facile cpp

Signaler
Messages postés
4
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
19 avril 2009
-
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
-
ce programme ne m'affiche rient

#include
#include<string.h>
#include<conio.h>
using namespace std;
class Ahmed
{
      public:
         Ahmed(){};
             virtual void aff(){ cout<<"ahmed"<<endl;}
             void aff1(){ cout<<"ahmed1"<<endl;}
             };

class Adel :public Ahmed
{
      public:
             Adel(){};
             void aff(){ cout<<"adel"<<endl;}
             void aff1(){ cout<<"adel"<<endl;}

};

int main()
{
    int i;
    Ahmed **a;
    for(i=0;i<10;i++)
    {
    a[i]=new Adel;
    }
    for(i=0;i<10;i++)

    a[i]->aff();

    getch();
    return 0;
}

4 réponses

Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
j'ai toujours eu un peu de mal avec la virtualité mais pourquoi tu fais ca ?

Ahmed **a;
et
a[i]=new Adel;

Je driais que l'inverse est correct. Attendons confirmation d'une personne un peu plus calée que moi en cpp.
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Ahmed **a = new Ahmed *[10];

A la fin ne pas oublier

for(i=0;i<10;i++)
   delete a[i];

delete []a;
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Ahmed **a = new Ahmed *[10];

A la fin ne pas oublier :

for(i=0;i<10;i++)
   delete a[i];

delete []a;
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
a[i]=new Adel; est correct car Adel dérive de Ahmed.