-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathData.h
130 lines (123 loc) · 3.27 KB
/
Data.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
* Header File que contem as classes Data e Hora
*
* @author Marcia, Pedro e Rita
* @date Novembro, 2018
*/
#ifndef DATA_H
#define DATA_H
#include <ctime>
#include <iostream>
/**
* Classe Data
*/
class Data {
private:
unsigned short dia; //Dia do mes
unsigned short mes; //Mes do ano
int ano; //Ano
public:
/**
* Construtor da Classe Data
* Data sera a mesma do sistema
*/
Data();
/**
* Construtor da Classe Data
* @param dia Dia da data
* @param mes Mes da data
* @param ano Ano da data
*/
Data(unsigned short dia, unsigned short mes, int ano);
/**
* Metodo que permite obter o dia
* @return Dia do mes
*/
unsigned short getDia() const;
/**
* Metodo que permite obter o mes
* @return Mes do ano (em numero)
*/
unsigned short getMes() const;
/**
* Metodo que permite obter o ano
* @return Ano
*/
int getAno() const;
/**
* Operador menor que verifica se uma data e menor que outra
* @param data Data a ser comparada
* @return Retorna true se for menor que a data do parametro. Caso contrario, retorna false
*/
bool operator< (const Data &data) const;
/**
* Metodo que verifica se duas datas sao iguais
* @param data Data a ser comparada
* @return Retorna true se as datas forem iguais. Caso contrario, retorna false
*/
bool operator==(const Data &data) const;
/**
* Overload de operador << para exportar a data
* @param output Variavel para onde se quer exportar(ecra, ficheiro, ...)
* @param d1 Data que se quer exportar
* @return Retorna referencia para a variavel para onde se quer exportar
*/
friend std::ostream& operator<<(std::ostream &output, const Data &d1);
};
/**
* Classe Hora
*/
class Hora {
private:
unsigned short hora; //Hora do dia
unsigned short minutos; //Minutos
unsigned short segundos; //Segundos
public:
/**
* Construtor da Classe Hora
* Hora sera a mesma do sistema
*/
Hora();
/**
* Construtor da Classe Hora
* @param h Horas da hora
* @param m Minutos da hora
* @param s Segundos da hora
*/
Hora(unsigned short h, unsigned short m, unsigned short s);
/**
* Metodo que permite obter as horas (numero da hora)
* @return Hora do dia
*/
unsigned short getHora() const;
/**
* Metodo que permite obter os minutos
* @return Minutos
*/
unsigned short getMinutos() const;
/**
* Metodo que permite obter os segundos
* @return Segundos
*/
unsigned short getSegundos() const;
/**
* Operador menor que verifica se uma hora e menor que outra
* @param h Hora a ser comparada
* @return Retorna true se for menor que a hora do parametro. Caso contrario, retorna false
*/
bool operator< (const Hora &h) const;
/**
* Metodo que verifica se duas datas sao iguais
* @param h Hora a ser comparada
* @return Retorna true se as horas forem iguais. Caso contrario, retorna false
*/
bool operator ==(const Hora &h) const;
/**
* Overload de operador << para exportar a data
* @param output Variavel para onde se quer exportar(ecra, ficheiro, ...)
* @param d1 Data que se quer exportar
* @return Retorna referencia para a variavel para onde se quer exportar
*/
friend std::ostream& operator<<(std::ostream &output, const Hora &h1);
};
#endif