Aperfeiçoamento da classe Time. Forneça um construtor

que seja capaz de usar a hora atual das funções

time e localtime — declaradas no cabeçalho

da biblioteca-padrão de C++ — para inicializar

um objeto da classe Time.

Passo 1

Para definir o construtor que definirá a hora para a hora atual, utilizaremos as funções time e localtime do cabeçalho da biblioteca padrão ctime.

Primeiro, utilizaremos a chamada de função time(0), que retornará o número de segundos passados desde 00:00 de 1º de janeiro de 1970 UTC.

Time::Time() {

time_t passed = time(0);

...

}

Passo 2

Em seguida, preencha a estrutura tm utilizando a chamada de função localtime() passada a hora atual.

A função usará o ponteiro para o valor time_t para construir uma estrutura tm preenchida com valores correspondentes à hora local atual.

Time::Time() {

...

struct tm* timeinfo = localtime(&passed);

...

}

Agora, acesse os valores de tempo através da estrutura tm e inicialize os membros de dados:

Time::Time() {

...

hour = timeinfo->tm_hour;

minute = timeinfo->tm_min;

second = timeinfo->tm_sec;

}

Resposta

Ver desenvolvimento.