Salve a tutti stavo realizzando una classe e come dato membro utilizzo un vettore di puntatori a oggetti; nel costruttore pongo i vari puntatori a 0 (o NULL) ed ecco qua che sorge l'errore: compila ed esegue ma poi "Il programma ha smesso di funzionare".
In un altro invece certe volte viene eseguito e certe volte termina la sua esecuzione (se non riesco a risolvere il problema posterò il codice). Ritornando al discorso iniziale vi posto il codice:
codice:
//Rete.h
#ifndef RETE_H
#define RETE_H
#include "Utente.h"
#include "Gruppo.h"
class Rete{
public:
Rete();
~Rete();
// void AddUtente();
//void AddGruppo();
// void IscriviUtenteGruppo();
// void ElencoIscrittiGruppo();
//void ElencoGruppiUtente();
private:
Utente* u[500];
Gruppo* g[500];
//int cercautente(long cd);
};
#endif
//Rete.cpp
#include "Rete.h"
#include "Utente.h"
#include "Gruppo.h"
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
Rete::Rete()
{
for(int i=0; i<500; i++)
u[i]=0;
for(int i=0; i<500; i++)
g[i]=0;
}
Rete::~Rete()
{
for(int i=0; i<500; i++){
if(u[i]) delete u[i];
if(g[i]) delete g[i];
}
}
Il seguente codice invece non crea problemi:
codice:
//Gruppo.cpp
#include "Gruppo.h"
#include "Utente.h"
#include <string>
using std::string;
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
Gruppo::Gruppo(string n, string dc): nome(n), data_creazione(dc)
{
for(int i=0; i<100; i++)
iscritti[i]=0;
}
dove iscritti è un array di puntatori a Utente.
Ringrazio in anticipo.
--