Lo standard C + + libreria comprende una serie di funzioni e strutture per aiutare i programmatori a che fare con il tempo nelle loro applicazioni . In questa esercitazione verrà creata una classe C + + chiamato orologio che servirà come un semplice wrapper per le strutture time_t e tm utilizzati da biblioteca tempo di C , e di includere un programma di esempio semplice che utilizzerà la classe Clock per emettere l'ora di sistema per la console . Cose che ti serviranno
C + + Commercio Compiler C + + standard Biblioteca
editor di testo o C + + IDE
Mostra più istruzioni
1
Crea il tuo file . Questo programma richiederà tre file : un file di intestazione clock.h per definire la classe Clock , un clock.cpp C + + file sorgente per definire l' implementazione della classe Clock , e, infine, un semplice programma di esempio che utilizza questa classe in main.cpp .
2
definire la classe Clock . Aprire il file di intestazione clock.h e definire la struttura della classe Clock inserendo il seguente codice in esso
# ifndef _CLOCK_H # define _CLOCK_H
classe
Clock {public : . GetHours int ( ) ; getMinutes int ( ); getSeconds int ( );
std :: getTime string () ;
Clock (); private : } ;
# endif /* _CLOCK_H * /
la classe è stata definita come avere quattro funzioni principali (oltre al costruttore dell'orologio ( ) ) . Le getHours , getMinutes e funzioni getSeconds saranno ogni recuperare una parte diversa del tempo dal + libreria di tempo standard C + , con il tempo di sistema attuale come la sua guida . Il getTime ( ) funzione formattare questi in una serie HH : MM : . SS stringa , come si è abituati a vedere su orologi digitali
ifndef , definire e tag endif è facoltativo, tuttavia , si tratta di un buona pratica per arrivare ad utilizzare questi. Quando si costruisce progetti più grandi , tra questi tag garantirà che un determinato file di intestazione è caricato in memoria una sola volta. Questo riduce il rischio di errori di dipendenze circolari , e facendo l'abitudine di sempre tra loro in nuovi file di intestazione ora vi farà risparmiare molti mal di testa in seguito lungo la strada .
3
Implementare la classe Clock . Aprire il file clock.cpp e implementare tutte le funzioni che avete definito nel file di intestazione immettendo il seguente :
# include # include # include " orologio . h "
orologio :: orologio ( ) { }
int Clock :: getHours ( ) { time_t secondi = time ( NULL); timeinfo ritorno ; struct tm * timeinfo = localtime ( & secondi ) - > tm_hour ; }
int Clock :: getMinutes ( ) { time_t secondi = time (NULL ) ; struct tm * timeinfo = localtime ( & secondi) ; ritorno timeinfo - > tm_min ;
< p > }
int Clock :: getSeconds ( ) { time_t secondi = time (NULL ) ; struct tm * timeinfo = localtime ( & secondi) ; ritorno timeinfo - > tm_sec ;
} < br
std > :: Orologio string :: getTime ( ) { std :: string time ; std :: stringstream fuori, fuori << getHours (); tempo = out.str (); out.str ( " " ) ; tempo + = " : " ; out << getMinutes (); tempo + = out.str (); out.str ( "") ; tempo + = " : " ; out << getSeconds ( ) , tempo + = out.str (); tempo di ritorno ;
}
partire dall'alto è il costruttore , Orologio ( ) . Questa è una classe molto semplice , quindi non c'è bisogno di fare nulla di speciale qui , in modo che il costruttore viene lasciato vuoto .
Successiva sono i getHours , minuti, secondi e funzioni . Queste funzioni recuperano l' ora locale, misurato in secondi , GMT , dal gennaio del 1970, per la maggior parte dei computer , lo converte nella struttura tm fornito dalle librerie C + + , e, infine, recupera le ore, i minuti ei secondi da questo valore in un essere umano forma leggibile .
Infine , getTime mette insieme questi valori in una stringa con il formato comune che separa le ore, i minuti ei secondi da due punti.
4
Creare un programma semplice da usare esso . Aprire il file main.cpp e scrivere il seguente programma in esso.
# Include # include " clock.h "
int main ( int argc , char * const argv [ ,"] ) { clock * Clock = new orologio ( ) ; std :: cout orologio - > getTime ( ) << ; return 0; }
Questo programma molto semplice crea un nuovo oggetto orologio , ottiene il tempo di sistema attuale da esso , e lo emette al fuori standard. Infine , restituisce 0 per il sistema operativo , per informare il sistema operativo che il programma ha funzionato correttamente senza errori .