2Définir la classe de l'horloge. Ouvrez le fichier d'en-tête de clock.h et de définir la structure de la classe de l'horloge en entrant le code suivant dedans.
ifndef _CLOCK_H
définir 9-_CLOCK_H
classe Clock {
publique:
int getHours ()
GO
int getMinutes ()
GO
int getSeconds ()
GO
std :: string getTime ()
GO
9-Clock ()
GO
privé:
}
GO
endif 9- / _CLOCK_H /
La classe a été définie comme ayant quatre fonctions principales (outre le réveil du constructeur ()). Les fonctions getHours, getMinutes et getSeconds auront chacun récupérer une partie différente du temps de la bibliothèque de l'heure standard du C, en utilisant le temps de système actuel comme son guide. La fonction getTime () permet de formater ceux-ci dans une série HH: chaîne de SS, comme vous êtes habitués à voir sur les horloges numériques: MM.
Le ifndef, définir, et les balises endif sont FACULTATIF Cependant, il est une bonne pratique pour entrer dans l'utilisation de ces. Lors de la construction des projets plus importants, y compris ces balises fera en sorte que le fichier d'en-tête donné est chargé en mémoire qu'une seule fois. Cela réduit le risque d'erreurs de dépendances circulaires, et de faire une habitude de toujours les inclure dans les nouveaux fichiers d'en-tête maintenant vous fera économiser beaucoup de maux de tête plus tard sur la route.
3Mettre en œuvre la classe Horloge. Ouvrez votre fichier clock.cpp, et mettre en œuvre toutes les fonctions que vous avez définis dans votre fichier d'en-tête en entrant ce qui suit:
inclure
inclure
inclure "clock.h"
Horloge :: Clock () {
}
int Clock :: getHours () {
secondes time_t = temps (null)
GO
struct tm * timeinfo = localtime (&-secondes)
GO
retourner timeinfo-gt; tm_hour
GO
}
int Clock :: getMinutes () {
secondes time_t = temps (null)
GO
struct tm * timeinfo = localtime (&-secondes)
GO
retourner timeinfo-gt; tm_min
GO
}
int Clock :: getSeconds () {
secondes time_t = temps (null)
GO
struct tm * timeinfo = localtime (&-secondes)
GO
retourner timeinfo-gt; tm_sec
GO
}
std :: string Clock :: getTime () {
9-std :: temps de chaîne
GO
9-std :: stringstream sur
GO
9 Départ lt; lt; getHours ()
GO
9-temps = out.str ()
GO
9-out.str ("")
GO
9-temps + = ":"
GO
9 Départ lt; lt; getMinutes ()
GO
9-temps + = out.str ()
GO
9-out.str ("")
GO
9-temps + = ":"
GO
9 Départ lt; lt; getSeconds ()
GO
9-temps + = out.str ()
GO
9 temps-retour
GO
9-
}
En partant du haut est le constructeur, Horloge (). Ceci est une classe très simple, il n'y a donc pas besoin de faire quelque chose de spécial ici, donc le constructeur est laissé vide.
Suivant sont les getHours, minutes et secondes fonctions. Ces fonctions extraient l'heure locale, mesurée en secondes, GMT, depuis Janvier de 1970 sur la plupart des ordinateurs, le convertit en une structure tm fournies par les bibliothèques C ++, et récupère enfin les heures, les minutes et les secondes sur cette valeur dans un être humain -readable forme.
Enfin, getTime met ensemble ces valeurs dans une chaîne avec le format commun qui sépare les heures, les minutes et les secondes par des virgules.
4Créer un programme simple à utiliser. Ouvrez votre fichier main.cpp et écrire le programme suivant en elle.
inclure
inclure "clock.h"
int main (int argc, char argv const []) {
9-Clock horloge = new Clock ()
GO
std :: cout lt; lt; horloge gt; getTime ()
GO
retourner 0
GO
}
Ce programme très simple crée un nouvel objet d'horloge, obtient l'heure actuelle du système d'elle, et délivre à la sortie standard. Enfin, il renvoie la valeur 0 pour le système d'exploitation, pour informer le système d'exploitation que le programme exécuté avec succès sans erreur.