Salve raga,ho un problema con un array di oggetti...vi mando il codice:
#include <iostream>
#include <string.h>
using namespace std;
class Ragazzo {
int eta,altezza;
string nome;
public:
Ragazzo(){
eta=0;
altezza=0;
nome="";
};
Ragazzo(int age,int tall,int name){
eta=age;
altezza=tall;
nome=name;
}
void insert();
void setage(int age){eta=age;}
void settall(int tall){altezza=tall;}
void setname(string name){nome=name;}
int getage(){return eta;}
int gettall(){return altezza;}
string getname(){return nome;}
void visual();
};
void Ragazzo::insert(){
int age,tall;
string name;
cout<<"inserire eta'' ragazzo:"<<endl;
cin>>age;
setage(age);
cout<<"inserire altezza ragazzo:"<<endl;
cin>>tall;
settall(tall);
cout<<"inserire nome:"<<endl;
cin>>name;
setname(name);
}
void Ragazzo::visual(){
cout<<"nome"<<endl<<getname()<<endl;
cout<<"eta'"<<endl<<getage()<<endl;
cout<<"altezza"<<endl<<gettall()<<endl;
}
void Insert(){
int n;
Ragazzo lista[n];
cout<<"inserire numero ragazzi:"<<endl;
cin>>n;
for (int i=0;i<n;i++){
lista.insert();
}
for (int i=0;i<n;i++){
lista.visual();
}
}
int main(){
Insert();
return 0;
}
quando inserisco tutti i dati del primo ragazzo,il programma non passa al secondo ragazzo ma va in crash.
Se invece di utilizzare n come dimensione dell'array utilizzo un valore statico,il programma funziona normalmente...ho visto che degli amici lo hanno fatto con i puntatori e l'operatore new...mi sapreste dare qualche consiglio o spiegazione in merito?