Imbrication de classe C++
Bonjour à toutes et à tous
J’essais de faire une imbrication de classes comme dans le programme. La compilation passe mais l’exécution indique un problème et s’arrête : « xyz.exe a rencontré un problème et doit fermer ». J’aimerais avoir de l’aide sur ce sujet. (je travaille sur windows XP et eclipse). Merci d'avance
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include <iostream.h>
#include <alloc.h>
#include <math.h>
using namespace std;
//========================================================
class Atom
{public:
float *electron; long ne; Atom (int ne0); ~Atom ();
};
Atom::Atom (int ne0)
{ ne=ne0;
electron = (float*) malloc(ne*sizeof(float));
for(int i=0; i<ne; i++) electron[i]=.031;
}
Atom::~Atom () { /*delete[] e;*/ free(electron);}
//===========================================================================================================
class Molecule
{public:
Atom *nA; int ne, na;
Molecule(int ne0, int na0); ~Molecule();
};
Molecule::Molecule(int ne0, int na0)
{ ne=ne0; na=na0;
nA = (Atom*) malloc(na*sizeof(Atom(ne)));
for(int i=0; i<na; i++)
for(int j=0; j<ne; j++,nA++)
cout<<"\n ___ nA.e: "<<nA->electron[j];
}
Molecule::~Molecule()
{ //delete nA;
free(nA);
}
//========================================================
int main ()
{
Molecule m(3,5);
return 0;
} |