ifndef _CLOCK_H

Cyfrowy zegar

Krok 1

Język programowania Uratuj Jupiterimages / Comstock / Getty Images

Utwórz swoje pliki. Ten program będzie wymagał trzech plików: pliku nagłówkowego clock.h do zdefiniowania zegara klasy, pliku kodu źródłowego clock.cp C ++ do zdefiniowania implementacji klasy zegara i wreszcie prosty przykładowy program wykorzystujący tę klasę z main.cpp.

Krok 2

Program Save Jupiterimages / Creatas / Getty Images

Zdefiniuj klasę zegara. Otwórz plik nagłówkowy clock.h i zdefiniuj strukturę klasy zegara, wpisując w niej następujący kod:

ifndef _CLOCK_H

zdefiniuj _CLOCK_Hclass Clock {

public: int getHours () int getMinutes () int getSeconds () std :: string getTime () Zegar () prywatny:} # endif / _CLOCK_H /

Klasa została zdefiniowana w celu uzyskania lepszych wyników (oprócz konstruktora zegara). Funkcje getHours, getMinutes i getSeconds przynoszą różne ułamki czasu zgodnie ze standardową biblioteką czasu C ++. Standardowa biblioteka wykorzystuje czas systemowy jako przewodnik. Funkcja getTime () przypisuje format standardowym ciągiem HH: MM: SS, jak widać w zegarach cyfrowych. Znaczniki ifndef, define i endif są opcjonalne, jednak dobrym pomysłem jest ich użycie. Podczas wykonywania dużych projektów należy uwzględnić te znaczniki, aby zapewnić, że określony plik nagłówkowy zostanie wczytany tylko raz w pamięci. To wyeliminuje ryzyko błędów przez odwołanie cykliczne i stworzy nawyk włączania ich zawsze do nowych plików nagłówkowych, co pozwoli zaoszczędzić wielu kłopotów podczas trwania projektu.

Krok 3

Logika Zapisz Hemera Technologies / AbleStock.com / Getty Images

Zaimplementuj klasę zegara. Otwórz plik clock.cpp i zaimplementuj wszystkie funkcje zdefiniowane w pliku nagłówkowym, wprowadzając następujący kod:

uwzględnij

uwzględnij

include \ "clock.h \" Clock :: Clock () {} int Clock :: getHours ()

{time_t seconds = czas (NULL) struct tm timeinfo = localtime (& seconds) return timeinfo-> tm_hour} int Clock :: getMinutes () {time_t seconds = czas (NULL) struct tm timeinfo = localtime (& seconds) return timeinfo-> tm_min } int Clock :: getSeconds () {time_t seconds = czas (NULL) struct tm * timeinfo = localtime (& seconds) return timeinfo-> tm_sec} std :: string Clock :: getTime () {std :: string time std :: stringstream out << getHours () time = out.str () out.str (\ "\") time + = \ ": \" out << getMinutes () time + = out.str () out.str ( \ "\") time + = \ ": \" out << getSeconds () time + = out.str () return time}

Rozpocznij u góry konstruktora, Clock (). Jest to bardzo prosta klasa, ponieważ nie musisz robić nic specjalnego, ponieważ konstruktor jest pusty. Następnie znajdziesz funkcje getHours, minutes i seconds. Funkcje te ładują czas lokalny, mierzony w sekundach, czas GMT, od stycznia 1970. Na wielu komputerach staje się on strukturą tm dostarczaną przez biblioteki C ++ i na koniec wyświetla czas, minuty i sekundy w łatwy sposób interpretacja dla ludzi. Na koniec getTime łączy te wartości w formacie rozdzielanym przecinkami między godzinami, minutami i sekundami.

Krok 4

Stwórz prosty program, aby z niego skorzystać. Otwórz plik main.cpp i napisz następujący program w:

uwzględnij

include \ "clock.h \" int main (int argc, char * const argv []) {

Zegar * zegar = nowy zegar () std :: cout

Ten prosty program tworzy nowy obiekt zegara, który ładuje czas systemowy. Na koniec zwraca zerową wartość do systemu operacyjnego, aby potwierdzić, że program został wykonany pomyślnie i bez błędów.