PDA

Visualizza la versione completa : [C++] Classi con vettore di oggetti


gianfredo
07-09-2011, 14:24
la classe seguente contiene i dati essenziali di un ospedale. Nel mai per gestire più ospedali ho creato un vettore di oggetti di capienza 15(così posso gestire fino a 15 ospedali). So che manca il distruttore ma la classe che ho creato è soltanto per prova.


Class Element
{
public:

int identificatore;
char *nome_ospedale;
int numero_reparti;
int numero_laboratori;
void inserisci_dati(int &i);
Element();

};
// sviluppo Element
Element:: Element()
{
nome_ospedale=new char [15];

}
void Element::inserisci_dati(int &i)
{
cout<<"come si chiama l'ospedale?"<<endl;
cin>>nome_ospedale;
identificatore=identificatore+i;
do{
cout<<"quanti reparti ha l'ospedale?? (al massimo può avere 30 reparti)"<<endl;
cin>>numero_reparti;
}while(numero_reparti>30);
cout<<"quanti laboratori di analisi ha l'ospedale?"<<endl;
cin>>numero_laboratori;
}

main()
int i(0);
Element *Ospedali;

Ospedali=new Element [15];
for(i=0;i<15;i++)
{
Ospedali[i].inserisci_dati(i);
}

return;



Vorrei memorizzare il vettore di oggetti (ospedali) in una struttura(lo so che in questo caso non serve a nulla, ma mi serve per altri motivi). Ho provato a fare così, ma non torna. Aiutatemi per favore.



struct dati
{


char *Ospedali;

}

oregon
07-09-2011, 14:29
E cosa c'entra

char *Ospedali;

?

Semmai

Element *Ospedali;

gianfredo
07-09-2011, 15:47
Memorizza i dati nel vettore di strutture?????



struct dati
{
reparto *Ospedali;
};

main()

int i(0);
dati*p_dati; // creazione vettore di strutture
p_dati=new dati[10];


Ospedali=new Element [15];


for(i=0;i<15;i++)
{
p_dati[0].Ospedali[i].inserisci_dati(i); //memorizza i dati nel primo elemento del vettore
} // di strutture????????

return;


Scusate la mia ignoranza, e grazie in anticipo ;)

gianfredo
07-09-2011, 17:57
ok ho risolto




struct dati
{


reparto Ospedali[30];




};
int main(i)
{

int i(0);
dati*p_dati;
p_dati=new dati[10];




for(i=0;i<3;i++)
{
p_dati[0].Ospedali[i].inserisci_dati(i);
}

return;


è giusto vero?????

Loading