ifndef _CLOCK_H

Digitální hodiny

Krok 1

Programovací jazyk Uložit Jupiterimages / Comstock / Getty Images

Vytvořte soubory. Tento program bude vyžadovat tři soubory: soubor hlavičky clock.h pro definování třídních hodin, soubor C ++ clock.cpp zdrojového kódu pro definici implementace třídy hodin a nakonec jednoduchý příkladový program používající tuto třídu z main.cpp.

Krok 2

Program Uložit Jupiterimages / Creatas / Getty Images

Definujte třídu hodin. Otevřete soubor hlavičky clock.h a definujte strukturu třídy hodin zadáním následujícího kódu:

ifndef _CLOCK_H

define _CLOCK_Hclass Clock {

public int: int getHours () int getMinutes () int getSeconds () std :: řetězec getTime () Hodiny () soukromé:} # endif / _CLOCK_H /

Třída byla definována tak, aby získala lepší výsledky (kromě konstruktoru Hodiny). Funkce getHours, getMinutes a getSeconds přinášejí různé frakce času podle standardní knihovny času C ++. Standardní knihovna používá systémový čas jako vodítko. Funkce getTime () přiřadí formát standardnímu řetězci HH: MM: SS, jak je vidět v digitálních hodinách. Značky ifndef, define a endif jsou nepovinné, nicméně je dobré použít je. Při provádění velkých projektů zahrnujte tyto značky, abyste zajistili, že konkrétní hlavičkový soubor bude načten pouze jednou do paměti. To eliminuje riziko chyb pomocí kruhovou referencí a vytváří zvyk vždy zahrnovat je do nových hlavičkových souborů, což vám v průběhu projektu ušetří mnoho bolesti hlavy.

Krok 3

Logika Ušetřete Hemera Technologies / AbleStock.com / Getty Images

Proveďte třídu Hodiny. Otevřete soubor clock.cpp a implementujte všechny funkce, které jste definovali v souboru záhlaví zadáním následujícího kódu:

zahrnout

zahrnout

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

{čas_t sekund = čas (NULL) struct tm timeinfo = localtime (& sekundy) return timeinfo-> tm_hour} int Hodiny :: getMinutes () {time_t seconds = } int Hodiny :: getSeconds () {čas_t sekundy = čas (NULL) struct tm * timeinfo = lokální (a sekundy) návrat timeinfo-> tm_sec} std :: string Clock :: getTime řetězec out out (str.) out.str (\ "\") čas + = \ ": \ "\") čas + = \ ": \" out << getSeconds () čas + = out.str ()

Začněte v horní části konstruktoru Hodiny (). Jedná se o velmi jednoduchou třídu, protože tam není třeba dělat nic zvláštního, protože konstruktér je prázdný. Dále najdete funkce getHours, minut a sekund. Tyto funkce načítají místní čas, měřený v sekundách, GMT, od ledna 1970. V mnoha počítačích se stává strukturou tm poskytovanou knihovnami C ++ a nakonec zobrazuje čas, minuty a sekundy způsobem, který je snadný interpretace pro lidi. Konečně getTime zřetězuje tyto hodnoty v řetězci formátu odděleném čárkami mezi hodinou, minutami a sekundami.

Krok 4

Vytvořte jednoduchý program pro jeho použití. Otevřete soubor main.cpp a napište následující program do adresáře:

zahrnout

zahrnout \ "clock.h \" int hlavní (int argc, char * const argv []) {

Hodiny * hodiny = nové hodiny () std :: cout

Tento jednoduchý program vytvoří nový objekt, který načte systémový čas. Nakonec vrátí do operačního systému nulovou hodnotu, aby se potvrdilo, že program byl proveden úspěšně a bez chyb.