[C++] Chiarimento sintassi

Messaggioda ZfreS » 03/09/2019, 13:44

Ho tra le mani un pezzo di codice ma non riesco a capire la sintassi di questo. C'è una certa classe date e una funzione che restituisce un oggetto del suo tipo:
Codice:
Date returnDate()
{
      return Date{05, 10, 2008};
}

cout << "Return date: " << returnDate().shortForm() << endl;


shortForm è una funzione dichiarata all'interno della classe date che restituisce una stringa del tipo " mm, gg, aa ". Ciò che non capisco di questo codice è: come fa returnDate che è una funzione ad accedere ad una funzione membro della classe Date.
Potreste chiarirmi questo dubbio per favore?
Ultima modifica di ZfreS il 04/09/2019, 10:48, modificato 1 volta in totale.
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1795 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [C++] Chiarimento sintassi

Messaggioda apatriarca » 03/09/2019, 19:58

Credo il codice sia semplicemente sbagliato. Devi chiamare la funzione e quindi scrivere returnDate().shortForm().
apatriarca
Moderatore
Moderatore
 
Messaggio: 5291 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [C++] Chiarimento sintassi

Messaggioda ZfreS » 04/09/2019, 10:49

Si hai ragione, ho trascritto il codice e ho dimenticato le parentesi. Rimane comunque il dubbio.
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1796 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [C++] Chiarimento sintassi

Messaggioda vict85 » 04/09/2019, 10:58

La funzione ritorna una variabile di tipo Date; quest'ultima possiede la funzione shortForm.
vict85
Moderatore
Moderatore
 
Messaggio: 9808 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [C++] Chiarimento sintassi

Messaggioda ZfreS » 04/09/2019, 11:14

Ma non esendoci un assegnamento, una volta chiamata la funzione e restituito il valore, non dovrebbe essere subito eliminato? Che regola c'è dietro questo caso? E' un po come se ci fosse un assegnamento nascosto.
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1798 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa

Re: [C++] Chiarimento sintassi

Messaggioda apatriarca » 05/09/2019, 00:58

Il valore temporaneo è distrutto dopo essere stato utilizzato dall'espressione che lo contiene. Puoi certamente immaginare che una variabile temporanea è stata creata e che tu le abbia assegnato il valore di ritorno.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5293 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [C++] Chiarimento sintassi

Messaggioda ZfreS » 05/09/2019, 10:54

Perfetto, tutto chiaro, grazie mille!
[URL=https://datesnow.life]Authentic Ladies[/URL]
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1799 di 4590
Iscritto il: 22/10/2016, 17:52
Località: Usa


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite