Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - String allocata dinamicamente
Forum - C/C++ - String allocata dinamicamente

Avatar
alfox (Normal User)
Newbie


Messaggi: 6
Iscritto: 28/05/2012

Segnala al moderatore
Postato alle 0:14
Sabato, 04/08/2012
Ciao a tutti ragazzi
vorrei un vostro aiuto per capire.

Quando ho una classe Notebook con dei membri char
vado a definire il costruttore in questo modo

Codice sorgente - presumibilmente C++

  1. [CODE]
  2.  
  3. class Notebook
  4. {
  5.       private:
  6.               char*modello;
  7.               float peso;
  8.               float spessore;
  9.               float pollici;
  10.       public:
  11.               Notebook(char*, float, float, float);
  12.               virtual void StampaDati()const;
  13.                  
  14. };
  15.  
  16. [/CODE]


Quando vado a implementare il costruttore avrò


Codice sorgente - presumibilmente C/C++

  1. Codice sorgente - presumibilmente C/C++

  2. Notebook::Notebook(char* mod,  float ps, float spes, float mon)
  3. {
  4.    modello=new char[strlen(mod)+1];
  5.    strcpy(modello, mod);
  6.    
  7.  
  8.     peso=ps;
  9.    spessore=spes;
  10.    pollici=mon;
  11.    
  12. }




Se invece ho una classe con dati string



Codice sorgente - presumibilmente C#

  1. [CODE]
  2.  
  3. class Notebook
  4. {
  5.       private:
  6.               string modello;
  7.               float peso;
  8.               float spessore;
  9.               float pollici;
  10.       public:
  11.               Notebook(string, float, float, float);
  12.               virtual void StampaDati()const;
  13.                  
  14. };
  15.  
  16.  
  17. [/CODE]




vado ad implementare

Codice sorgente - presumibilmente C/C++

  1. Codice sorgente - presumibilmente C/C++

  2.  
  3.  
  4. Notebook::Notebook(string mod= " ",  float ps, float spes, float mon)
  5. {
  6.    Modello=mod;
  7.    
  8.  
  9.     peso=ps;
  10.    spessore=spes;
  11.    pollici=mon;
  12.    
  13. }
  14.  






Se invece avessi una string allocata dinamicamente, come andrebbe implementato il costruttore?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 14:13
Mercoledì, 22/08/2012
In pratica vorresti riallocare la stringa prima di assegnarla al dato membro?
http://www.cplusplus.com/reference/string/string/push_back/

Ultima modifica effettuata da il 22/08/2012 alle 14:14
PM Quote