Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    11

    [c++] Passare oggetti tra funzioni ...

    Salve a tutti

    Avrei il seguente problema riguardante il passaggio di un oggetto da un funzione ad un'altra :

    codice:
    time time::crea_ora()
    {
    	cout << "Inserisci ore, minuti e secondi divisi da spazio nella forma (hh mm ss) : ";
    		cin >> h;
    		cin >> min;
    		cin >> sec;
    
    		time tempo;
    		tempo.ore = h;
    		tempo.minuti = min;
    		tempo.secondi = sec;
    		return tempo;
    }

    L'oggetto creato sopra deve essere utilizzato da questa funzione :

    codice:
    computer::computer(string numero_computer, time tempo, data oggi)
    {
    
    	numero = numero_computer;
    	last_ora = tempo;
    	last_data = oggi;
    	cout << last_ora.ore << last_ora.minuti << last_ora.secondi;
    
    }
    La stringa cout (inserita per controllare che l'oggetto fosse stato trasferito realmente tra le due funzioni che risiedono in due classi diverse) riporta un oggetto vuoto.

    Come faccio a trasferire l'oggetto tra le due funzioni ? :master:


    Grazie mille

  2. #2
    ciao, ci sono vari modi: dichiari l'oggetto fuori da qualsiasi funzione (quindi diventa globale); oppure lo dichiari all'interno del metodo main e lo passi alle tue funzioni come riferimento o puntatore (const quando non lo devi modificare).

    Saluti
    <| http://cikkox.altervista.org |>
    <| GNU/Linux Registered User #365929 |>
    <| GnuPG/OpenPGP key available |>

  3. #3
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    Ok, non posso aiutarti. Ma tu puoi aiutare me: cosa è il << e >>? non è per lo shift sui bit?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    11
    Ti ringrazio molto passando tutto per riferimento il programma funziona alla perfezione

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    11
    Originariamente inviato da unit1
    Ok, non posso aiutarti. Ma tu puoi aiutare me: cosa è il << e >>? non è per lo shift sui bit?
    A suo tempo mi consigliarono che invece di mangiarmi la testa per fare una conversione da INT/FLOAT/ETC a stringa al fine di visualizzarla potevo utilizzare il flusso dati della funzione COUT per visualizzarli senza effettuare alcuna conversione di tipo ... i simboli :

    codice:
    cout << [testo] << [numero] << [qualsiasi cosa];
    Permettono di visualizzare quello che voglio senza alcuna conversione di dati ....

    In quel determinato contesto :

    >> invia il flusso dati della funzione CIN alla variabile a destra.
    << invia ciò che si trova a destra al flusso dati della funzione cout per la visualizzazione.

    sono stato chiaro come una vetrata opaca ma spero di essermi spiegato

  6. #6
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    Capito, serve per mandare i dati (una spece di quello che succede con l'I/O dei SO!).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.