|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
[C++] overloading operatori di stream
Per una classe Persona (string Nome, char* Cognome, char CF, int Età) ho scritto l'overloading degli operatori di stream in questo modo
![]() Non ho capito l'utilità di ritornare i valori in e out, le funzioni lavorano anche senza |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
In questo modo puoi effettuare il chaining:
Codice:
cout << "hello" << "world"; |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
Guarda, ti assicuro che me lo fa passare lo stesso
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Sì, ma non è corretto (che compilatore usi? hai i warning attivi? configurazione debug/release?).
Una funzione dichiarata non void deve restituire esplicitamente qualcosa. Se il return viene omesso, il risultato è "undefined behavior" ed è categoricamente sconsigliabile farci affidamento: può funzionare sì oppure no oppure solo in certe circostanze ma è assolutamente a caso. |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Feb 2017
Messaggi: 15
|
Giusto, non avevo considerato il tipo di ritorno
Grazie mille |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:35.





















