De standaard C + +-bibliotheek bevat een aantal functies en structuren om programmeurs te helpen bij het omgaan met de tijd in hun toepassingen . In deze tutorial zal leiden tot een C + + -klasse genaamd Clock die zal dienen als een simpele wrapper rond de time_t en tm structuren die door C's tijd library , en beschikken over een eenvoudige steekproef programma dat deze klok klasse zal gebruiken om de systeemtijd te voeren naar de console . Wat je nodig hebt C + + Compiler C + + Standard Library of tekst -editor of C + + IDE Toon Meer Aanwijzingen 1 Maak uw bestanden . Dit programma zal vragen om drie bestanden : een clock.h header -bestand naar het Klok -klasse , een clock.cpp C + + bronbestand aan de implementatie van de klasse klok te definiëren , en tenslotte een simpel voorbeeld programma met behulp van deze klasse in main.cpp definiëren . kopen van 2 Definieer de klas Klok . Open het clock.h header-bestand en definieert de structuur van de klasse Clock door het invoeren van de volgende code in het # ifndef _CLOCK_H # define _CLOCK_H class Klok {public : . Int getHours ( ) int getMinutes ( ) ; int getSeconds ( ) ; std :: string getTime ( ) ; Klok ( ) op ; private : } ; # endif /* _CLOCK_H * Twitter / de klasse is gedefinieerd als het hebben vier belangrijke functies ( naast de constructeur Klok ( ) ) . De getHours , getMinutes en getSeconds functies zal elke haal een ander deel van de tijd van de C + + standaard tijd library , met behulp van de huidige systeemtijd als zijn gids. De getTime ( ) functie zal deze formatteren in een standaard HH : MM : . SS tekenreeks , zoals u gewend zijn te zien op digitale klokken De ifndef , definiëren , en endif tags zijn optioneel , maar het is een goede praktijken te krijgen in het gebruik van deze . Bij het bouwen van grotere projecten , met inbegrip van deze tags zal ervoor zorgen dat een bepaalde header-bestand slechts een keer in het geheugen wordt geladen . Dit vermindert het risico van kringafhankelijkheid fouten , en het maken van een gewoonte van om altijd op te nemen in nieuwe header files nu zal je later bespaart veel hoofdpijn op de weg . 3 Implementeren van de klasse Clock . Open je clock.cpp bestand en uitvoeren van alle functies die je in je header-bestand hebt gedefinieerd door het volgende : # include # include # include " klok . h " Klok :: Klok ( ) { } int Klok :: getHours ( ) { time_t seconden = tijd ( NULL ) ; struct tm * timeinfo = localtime ( & seconden ) ; return timeinfo - > tm_hour ; } int Klok :: getMinutes ( ) { time_t seconden = tijd ( NULL ) ; struct tm * timeinfo = localtime ( & seconden ) ; return timeinfo - > tm_min ; } int Klok :: getSeconds ( ) { time_t seconden = tijd ( NULL ) ; struct tm * timeinfo = localtime ( & seconden ) ; return timeinfo - > tm_sec ; } < br std > :: string Klok :: getTime ( ) { std :: string tijd ; std :: stringstream out ; out << getHours ( ) ; tijd = out.str ( ) ; out.str ( " " ) ; tijd + = " : " ; out << getMinutes ( ) ; tijd + = out.str ( ) ; out.str ( " " ) ; tijd + = " : " ; out << getSeconds ( ) ; tijd + = out.str ( ) ; return tijd ; } Vanaf de top is de constructeur , Klok ( ) . Dit is een zeer eenvoudige klasse , dus er is geen noodzaak om iets bijzonders te doen, zodat de aannemer wordt leeg gelaten . Vervolgens zijn de getHours , minuten en seconden functies . Deze functies halen de lokale tijd , gemeten in seconden , GMT , sinds januari van 1970 op de meeste computers , zet het om in de tm structuur die door de C + + -bibliotheken , en uiteindelijk haalt de uren , minuten en seconden van deze waarde in een menselijk leesbare vorm . slot getTime zet deze waarden samen in een string met de gemeenschappelijke vorm die scheidt uren , minuten en seconden door dubbele punten . 4 Maak een eenvoudig programma om te gebruiken het. Open uw main.cpp bestand en schrijf het volgende programma in. # Include # include " clock.h " int main ( int argc , char * const argv [ ,"] ) { klok * klok = new klok ( ) ; std :: cout klok - > getTime ( ) << return 0; } Deze zeer eenvoudig programma creëert een nieuwe klok object , krijgt de huidige systeem de tijd van het, en voert het naar de norm uit . Tenslotte 0 terug naar het besturingssysteem , het besturingssysteem op de hoogte dat het programma liep succes zonder fouten .
|