ifndef _CLOCK_H
Krok 1
Uratuj Jupiterimages / Comstock / Getty ImagesUtwó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
Save Jupiterimages / Creatas / Getty ImagesZdefiniuj 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
Zapisz Hemera Technologies / AbleStock.com / Getty ImagesZaimplementuj 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.