ifndef _CLOCK_H
Passo 1
Salvar Jupiterimages / Comstock / Getty ImagesCrie seus arquivos. Este programa requer três arquivos: um arquivo de cabeçalho clock.h para definir o relógio de classe, um arquivo de código fonte clock.cpp em C ++ para definir a implementação da classe clock e finalmente um programa de exemplo simples usando esta classe de main.cpp.
Passo 2
Salvar Jupiterimages / Creatas / Getty ImagesDefina a classe do relógio. Abra o arquivo de cabeçalho clock.h e defina a estrutura da classe de relógio inserindo o seguinte código:
ifndef _CLOCK_H
definir o _CLOCK_Hclass relógio {
public: int getHours () int getMinutes () int getSeconds () std :: string getTime () Relógio () privado:} # endif / _CLOCK_H /
A classe foi definida para obter melhores resultados (além do construtor Clock). As funções getHours, getMinutes e getSeconds trarão as diferentes frações de tempo de acordo com a biblioteca de tempo C ++ padrão. A biblioteca padrão usa a hora do sistema como um guia. A função getTime () atribuirá o formato com a string padrão HH: MM: SS, como visto nos relógios digitais. As tags ifndef, define e endif são opcionais, no entanto, é uma boa prática usá-las. Quando você faz grandes projetos, inclua essas tags para garantir que um determinado arquivo de cabeçalho seja carregado apenas uma vez na memória. Isso eliminará o risco de erros por referência circular e criará o hábito de sempre incluí-los em novos arquivos de cabeçalho, o que poupará muitas dores de cabeça durante o andamento de um projeto.
Passo 3
Salvar Hemera Technologies / AbleStock.com / Getty ImagesImplemente a classe Clock. Abra seu arquivo clock.cpp e implemente todas as funções que você definiu no seu arquivo de cabeçalho, digitando o seguinte código:
incluir
incluir
inclui \ "clock.h \" Clock :: Clock () {} int Clock :: getHours ()
{time_t segundos = tempo (NULL) struct tm timeinfo = hora local (& segundos) return timeinfo-> tm_hora} int Clock :: getMinutes () {time_t segundos = tempo (NULL) struct tm timeinfo = hora local (& segundos) return timeinfo-> tm_min } int Clock :: getSeconds () {time_t segundos = tempo (NULL) struct tm * timeinfo = hora local (& segundos) retorno timeinfo-> tm_sec} std :: string Relógio :: getTime () {std :: string tempo std :: stringstream out out << getHours () tempo = out.str () out.str (\ "\") tempo + = \ ": \" out << getMinutes () tempo + = out.str () out.str ( \ "\") time + = \ ": \" out {tempo de getSeconds () + = out.str () tempo de retorno}
Comece no topo do construtor, Clock (). Esta é uma classe muito simples, já que você não precisa fazer nada de especial lá, já que o construtor está vazio. Em seguida, você encontrará as funções getHours, minutes e seconds. Essas funções carregam a hora local, medida em segundos, GMT, desde janeiro de 1970. Em muitos computadores, ela se torna uma estrutura tm fornecida pelas bibliotecas C ++ e finalmente exibe a hora, os minutos e os segundos de uma maneira que é fácil interpretação para os seres humanos. Finalmente, o getTime concatena esses valores em uma cadeia de formato separada por vírgula entre horas, minutos e segundos.
Passo 4
Crie um programa simples para usá-lo. Abra seu arquivo main.cpp e escreva o seguinte programa no:
incluir
inclua \ "clock.h \" int main (argc int, char * const argv []) {
Relógio * relógio = novo Relógio () std :: cout
Este programa simples cria um novo objeto de relógio, que carrega a hora do sistema. Finalmente, retorna o valor zero para o sistema operacional, para confirmar que o programa foi executado com sucesso e sem erros.