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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
 }