-
Notifications
You must be signed in to change notification settings - Fork 0
/
fecha.hh
72 lines (56 loc) · 2.09 KB
/
fecha.hh
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
/** @file fecha.h
@brief Classe Fecha
*/
#ifndef FECHA_H
#define FECHA_H
/** @class Fecha
@brief Representa un momento específico, mediante una hora y mediante un día (structs).
*/
#include <string>
using namespace std;
class Fecha {
private:
string hora;
string dia;
static string invertirDia(string dia);
public:
/** @brief Crea una fecha nueva, con dia y hora asignados.
\pre dia y hora están inicializados.
\post El p.i. tiene dia y hora asignados.*/
Fecha(const string& dia, const string& hora);
Fecha();
~Fecha();
/** @brief Imprime por pantalla el p.i.
\pre Cierto.
\post Imprime por pantalla el dia y la hora asignados, en este orden.*/
void write() const;
/** @brief Devuelve hora del p.i.
\pre Cierto.
\post Devuelve la hora que el p.i. tiene asignado.*/
string getHora() const;
/** @brief Devuelve dia del p.i.
\pre Cierto.
\post Devuelve el dia que el p.i. tiene asignado.*/
string getDia() const;
/** @brief Modifica hora del p.i. por la que se pasa por parámetro.
\pre hora representa una hora válida.
\post El p.i. tiene hora asignado*/
void setHora(const string& hora);
/** @brief Modifica dia del p.i. por el que se pasa por parámetro.
\pre dia representa un día válido.
\post El p.i. tiene dia asignado*/
void setDia(const string& dia);
/** @brief Completa el p.i. con otra fecha.
\pre f es una fecha inicializada y válida.
\post El p.i. ha rellenado sus atributos si los tenía vacíos con los de f */
void rellenar(const Fecha& f);
/** @brief Compara el p.i. por otra fecha por parámetro. Devuelve true si el p.i. es anterior a f.
\pre fecha es una fecha inicializada.
\post Devuelve true si f es posterior al p.i., false si no.*/
bool operator<(const Fecha& f) const;
/** @brief Compara el p.i. por otra fecha por parámetro. Devuelve true si el p.i. es igual a f.
\pre fecha es una fecha inicializada.
\post Devuelve true si f es igual al p.i., false si no.*/
bool operator==(const Fecha& f) const;
};
#endif // FECHA_H