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.