Gino+89+
22-09-2007, 17:56
Ciao a tutti.
Sto ripassando il c++ e mi stanno venendo parecchi dubbi (atroci):
1) Quando scrivo una struttura dati (tipo classe o struct) su file, posso inserire stringhe ma non liste o alberi? Nel senso, non posso scrivere strutture dati che si basano su dei puntatori?
Se per esempio ho:
class dati{
public:
int a;
int *b;
list<int> lista_con_Stl;
char parola[6];
struct elem_lista* start;
char *parola2;
};
quali elementi di questa classe mi danno problemi nel momento in cui voglio scriverla su un file bainaro .dat? Per calcolare il sizeof della classe mi tocca scorrere tutte le liste?
2)Se scrivo:
class ciao{
private:
int num;
public:
ciao(int num):num(num){}
int getValue(){ return n; }
};
//.....
int quattro=4;
ciao valore(quattro);
int var=valore.getValue();
ciao::getValue();
Cosa cambia tra scrivere uno.getValue() e ciao::getValue()?
In generale :: preceduti dal nome classe servono per usare delle sue funzioni o variabili separatamente dalle sue istanze?
Insomma sono due cavolate ma devo risolvere il più presto pissibile, Grazie per eventuali risposte.
Sto ripassando il c++ e mi stanno venendo parecchi dubbi (atroci):
1) Quando scrivo una struttura dati (tipo classe o struct) su file, posso inserire stringhe ma non liste o alberi? Nel senso, non posso scrivere strutture dati che si basano su dei puntatori?
Se per esempio ho:
class dati{
public:
int a;
int *b;
list<int> lista_con_Stl;
char parola[6];
struct elem_lista* start;
char *parola2;
};
quali elementi di questa classe mi danno problemi nel momento in cui voglio scriverla su un file bainaro .dat? Per calcolare il sizeof della classe mi tocca scorrere tutte le liste?
2)Se scrivo:
class ciao{
private:
int num;
public:
ciao(int num):num(num){}
int getValue(){ return n; }
};
//.....
int quattro=4;
ciao valore(quattro);
int var=valore.getValue();
ciao::getValue();
Cosa cambia tra scrivere uno.getValue() e ciao::getValue()?
In generale :: preceduti dal nome classe servono per usare delle sue funzioni o variabili separatamente dalle sue istanze?
Insomma sono due cavolate ma devo risolvere il più presto pissibile, Grazie per eventuali risposte.