Die Standard- C + +-Bibliothek enthält eine Reihe von Funktionen und Strukturen für Programmierer im Umgang mit der Zeit in ihre Anwendungen zu unterstützen. In diesem Tutorial erstellen Sie ein C + + -Klasse namens Clock , die als einfache Wrapper um den time_t und tm Strukturen von C Zeit -Bibliothek verwendet dienen wird , und verfügen über eine einfache Probe Programm, das diese Klasse Clock verwenden, um die Systemzeit auf der Konsole ausgeben . Was Sie brauchen
C + + Compiler
C + + Standard Library
Text -Editor oder C + + IDE
anzeigen Weitere Anweisungen
1
Erstellen Sie Ihre Dateien . Dieses Programm wird für drei Dateien nennen : eine clock.h Header-Datei , um den Clock -Klasse, eine clock.cpp C + +-Quelldatei , um die Umsetzung des Clock -Klasse zu definieren , und schließlich ein einfaches Beispiel -Programm mit dieser Klasse in main.cpp definieren .
2
Definieren Sie die Clock -Klasse. Öffnen Sie die Header-Datei clock.h und definieren die Struktur der Klasse Clock indem Sie den folgenden Code ein
# ifndef _CLOCK_H # define _CLOCK_H
Klasse Clock {public: . Int getHours () ; int getMinutes (); int getSeconds ();
std :: string getTime ();
Clock (); private: };
# endif /* _CLOCK_H * /Tablet
die Klasse hat als mit vier Hauptfunktionen (neben dem Konstruktor Clock ()) definiert. Die getHours , getMinutes und getSeconds Funktionen werden jeweils abzurufen einen anderen Teil der Zeit aus dem C + +-Standard -Bibliothek Zeit , über die aktuelle Systemzeit als ihre Führer. MM : Die getTime ()-Funktion wird diese in einem Standard- HH formatieren. SS string, wie Sie sehen auf Digitaluhren verwendet
ifndef , zu definieren und endif Tags sind optional , allerdings ist es ein gute Praxis in mit diesen zu bekommen . Beim Bau größeren Projekten , einschließlich dieser Tags wird sichergestellt, dass eine bestimmte Header-Datei in den Speicher geladen wird nur einmal . Dies reduziert das Risiko von Ringabhängigkeit Fehler , und machen eine Gewohnheit, immer , sie in neue Header-Dateien jetzt sparen Sie viele Kopfschmerzen später auf die Straße hinunter .
3
Implementieren Sie die Klasse Clock . Öffnen Sie Ihre clock.cpp Datei und Umsetzung aller Funktionen, die Sie in Ihrem Header-Datei , indem Sie Folgendes definiert haben :
# include # include # include "Uhr. h "
Clock :: Clock () {}
int Clock :: getHours () { time_t Sekunden = time ( NULL); struct tm * localtime Zeitinfo = ( & Sekunden) ; Rückkehr Zeitinfo -> tm_hour ;}
int Clock :: getMinutes () { time_t Sekunden = time ( NULL); struct tm * localtime Zeitinfo = ( & Sekunden) ; Rückkehr Zeitinfo -> tm_min ;
< p >}
int Clock :: getSeconds () { time_t Sekunden = time ( NULL); struct tm * localtime Zeitinfo = ( & Sekunden) ; Rückkehr Zeitinfo -> tm_sec ;
}
std :: string :: getTime Clock () { std :: string time ; std :: stringstream out ; out << getHours (); time = out.str (); out.str ("" ); Zeit + = " :"; out << getMinutes (); Zeit + = out.str (); out.str ( ""); Zeit + = " :"; out << getSeconds () ; Zeit + = out.str (); Rückkehr Zeit ;
}
Beginnend an der Spitze ist der Konstrukteur , Clock (). Dies ist eine sehr einfache Klasse , so gibt es keine Notwendigkeit, etwas Besonderes hier zu tun, so der Konstrukteur leer gelassen wird .
Weiter sind die getHours , Minuten und Sekunden Funktionen . Diese Funktionen rufen die lokale Zeit , in Sekunden gemessen , GMT , seit Januar 1970 auf den meisten Computern , wandelt es in der tm-Struktur durch die C + +-Bibliotheken zur Verfügung gestellt , und schließlich ruft die Stunden , Minuten und Sekunden aus diesem Wert in einem menschlichen lesbarer Form .
Schließlich setzt getTime diese Werte zusammen in einem String mit dem gemeinsamen Format die Stunden , Minuten und Sekunden durch Doppelpunkte getrennt .
4
erstellen Sie eine einfache Programm zu bedienen es . Öffnen Sie Ihre Datei main.cpp und schreiben Sie das folgende Programm hinein.
# Include # include " clock.h "
int main ( int argc , char * const argv [ ,"] ) { Clock * clock = neue Clock (); std :: cout << Uhr -> getTime (); return 0; }
sehr einfaches Programm erstellt ein neues Objekt Uhr , bekommt der aktuelle Systemzeit aus , und gibt es an den Standard aus . Schließlich gibt 0 an das Betriebssystem , das Betriebssystem darüber informieren, dass das Programm erfolgreich lief ohne Fehler .