|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2002
Città: Trieste e ovunque.
Messaggi: 111
|
C++, Classi: ho bisogno di un aiuto...
Ciao.
Da qualche settimana sto sfogliando alcuni manuali di C++ per scrivere un codice che gestisca dei Files di Risultati. I risultati contengono forze, spostamenti, deformazioni meccaniche, etichette e richiedono un certo numero di operazioni (post-processing). E' possibile definire in C++ una classe "generica" che contenga 1) una stringa o un intero che identifica l'oggetto 2) un numero intero N (e non dichiarato a priori) di vettori di dimensioni diverse 3) dei metodi generici per poi derivare delle classi figlie che contengano 1) una stringa 2) un numero intero < N di vettori 3) dei metodi ad hoc ?? Ho una conoscenza ancora superficiale del C++, ma vorrei capire se nella classe posso (e come) definire un numero non noto a tempo di compilazione di array. Grazie, attendo consigli!!
__________________
[size=0.7] System Decks:[/size] [size=0.7] DARTH MAUL[/size] [size=0.7] P4 2.4 Ghz > Abit TH7II > 1 GB RIMM > FireGL X1 128Mb > Audigy Player > HD IBM & WD > Aluminium Case C. Master ATCS 410 SX1[/size] [size=0.7] DARTH SIDIOUS [/size] [size=0.7] Dell Precision M60 > Centrino 1.40 Ghz > 2.0 GB RAM> Quadro FX Go 700 128Mb > HD 60 GB 7200 rpm [/size] |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
Codice:
class Generica { public: Generica(const char* nome) : _nome(nome) {} virtual ~Generica() {} virtual void metodo1() = 0; virtual int metodo2(int p) = 0; virtual float metodo3() = 0; const char* nome() { return _nome.c_str(); } protected: std::vector< std::vector<int> > _dati; private: std::string _nome; }; class Figlio1 : public Generica { public: Figlio1 : Generica("figlio1") {} void metodo1() { cout << "metodo 1 dell'oggetto " << nome(); } int metodo2(int p) { cout << "metodo 2 dell'oggetto " << nome(); } float metodo3() { cout << "metodo3 dell'oggetto " << nome(); } }; class Figlio2 : public Generica { public: Figlio2 : Generica("figlio2") {} void metodo1() { cout << "metodo 1 dell'oggetto " << nome(); } int metodo2(int p) { cout << "metodo 2 dell'oggetto " << nome(); } float metodo3() { cout << "metodo3 dell'oggetto " << nome(); } }; |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: May 2002
Città: Trieste e ovunque.
Messaggi: 111
|
Grazie!
ad essere sincero non ho ancora tutti i mezzi per capire il tuo codice (sto ancora studiando), ma me lo sono salvato! ciauz
__________________
[size=0.7] System Decks:[/size] [size=0.7] DARTH MAUL[/size] [size=0.7] P4 2.4 Ghz > Abit TH7II > 1 GB RIMM > FireGL X1 128Mb > Audigy Player > HD IBM & WD > Aluminium Case C. Master ATCS 410 SX1[/size] [size=0.7] DARTH SIDIOUS [/size] [size=0.7] Dell Precision M60 > Centrino 1.40 Ghz > 2.0 GB RAM> Quadro FX Go 700 128Mb > HD 60 GB 7200 rpm [/size] |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Ma con:
protected: std::vector< std::vector<int> > _dati; non dichiari un vettore di int? Non si dovrebbe invece dichiarare un vettore di vettori?
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
std::vector< std::vector<int> > _dati;
Questo è proprio un vettore di vettori ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
ecco ha risposto lui (che giornata oggi, sto respirando ora...)
scrivi cosa non ti è chiaro che te lo spieghiamo, in questo momento non ho proprio voglia di spiegarlo linea per linea scusa ^^' |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Quote:
std::vector<int>
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: May 2002
Città: Trieste e ovunque.
Messaggi: 111
|
non ti preoccupare per le spiegazioni e i commenti, me la vedo io.
mi basta sapere che se riesce a farlo e avere una traccia su cui lavorare. ![]()
__________________
[size=0.7] System Decks:[/size] [size=0.7] DARTH MAUL[/size] [size=0.7] P4 2.4 Ghz > Abit TH7II > 1 GB RIMM > FireGL X1 128Mb > Audigy Player > HD IBM & WD > Aluminium Case C. Master ATCS 410 SX1[/size] [size=0.7] DARTH SIDIOUS [/size] [size=0.7] Dell Precision M60 > Centrino 1.40 Ghz > 2.0 GB RAM> Quadro FX Go 700 128Mb > HD 60 GB 7200 rpm [/size] |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:52.