-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cita.hh
144 lines (97 loc) · 4.04 KB
/
Cita.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
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/** @file Cita.hh
@brief Especificació de la classe Cita
*/
#ifndef _CITA_HH_
#define _CITA_HH_
#ifndef NO_DIAGRAM
#include <iostream>
#include <vector>
using namespace std;
#endif
#include "Frase.hh"
/** @class Cita
@brief Representa una cita
Conté la referència de la cita, el títol del text d'on s'ha extret, el seu autor el contingut (cjt. de frases) que la formen
i nombre d'inici i final de les frases de la cita en el textd'on sha extret.
*/
class Cita {
private:
/** @brief Vector de <em>Frase</em> amb el contingut de la cita*/
vector<Frase> cita;
/** @brief String que conté la referència que identifica la cita.*/
string referencia;
/** @brief conté el títol del text d'on prové la cita*/
list<string> titol;
/** @brief conté l'autor del text on prové la cita*/
list<string> autor;
/** @brief conté el valor d'inici i final de les frases de cita en el text*/
pair<int,int> inici_final;
public:
//Constructora
/** @brief Creadora per defecte
S'executa automàticament al declarar una cita.
\pre <em>cert</em>
\post Element cita amb tots els seus camps buits.
*/
Cita();
//Destructora
/** @brief Destructora per defecte
S'executa automàticament al sortir del bloc on s'ha declarat
\pre Tenim una Cita
\post S'ha eliminat l'objecte del tipus Cita
*/
~Cita();
//Modificadors
/** @brief Modificar el parametre implícit referencia
\pre El parametre d'entrada conté la informació que volem modificar
\post S'ha modificat el parametre implícit amb el parametre d'entrada, parametre d'entrada no s'ha modificat.
*/
void modificar_referencia(const string& referencia);
/** @brief Modificar el parametre implícit cita
\pre El parametre d'entrada conté la informació que volem modificar
\post S'ha modificat el parametre implícit amb el parametre d'entrada, parametre d'entrada no s'ha modificat.
*/
void modificar_cita(const vector<Frase>& cita);
/** @brief Modificar el parametre implícit títol
\pre El parametre d'entrada conté la informació que volem modificar
\post S'ha modificat el parametre implícit amb el parametre d'entrada, parametre d'entrada no s'ha modificat.
*/
void modificar_titol(const list<string>& titol);
/** @brief Modificar el parametre implícit autor
\pre El parametre d'entrada conté la informació que volem modificar
\post S'ha modificat el parametre implícit amb el parametre d'entrada, parametre d'entrada no s'ha modificat.
*/
void modificar_autor(const list<string>& autor);
/** @brief Modificar el parametre implícit inici_final
\pre El parametre d'entrada conté la informació que volem modificar
\post S'ha modificat el parametre implícit amb el parametre d'entrada, parametre d'entrada no s'ha modificat.
*/
void modificar_inici_final(int inici, int final);
//Consultors
/** @brief Retorna el parametre implícit referencia
\pre Cert
\post Retorna el parametre implícit referencia, no modifica els parametres implicits
*/
string consultar_referencia() const;
/** @brief Retorna el parametre implícit cita
\pre Cert
\post Retorna el parametre implícit cita, no modifica els parametres implicits
*/
vector<Frase> consultar_cita() const;
/** @brief Retorna el parametre implícit titol
\pre Cert
\post Retorna el parametre implícit titol, no modifica els parametres implicits
*/
list<string> consultar_titol() const;
/** @brief Retorna el parametre implícit autor
\pre Cert
\post Retorna el parametre implícit autor, no modifica els parametres implicits
*/
list<string> consultar_autor() const;
/** @brief Retorna el parametre implícit inici_final
\pre Cert
\post Retorna el parametre implícit inici_final, no modifica els parametres implicits
*/
pair<int,int> consultar_inici_final() const;
};
#endif