ABC
 All Classes Files Functions Variables Pages
EstructuraABC.hpp
Go to the documentation of this file.
1 #ifndef __EstructuraABC__
2 #define __EstructuraABC__
3 
4 
5 #include <stdio.h>
6 #include <list>
7 #include "Registro.hpp"
8 
9 
10 
11 using namespace std;
12 
13 
15 
24 {
25 
26 protected:
27 
29  list<Registro *> Lista;
30 
32  list<Registro *>::iterator It;
33 
35  void BorrarTodo(void)
36  {
37  for (It = Lista.begin(); It != Lista.end(); ++It)
38  {
39  Registro *a = *It;
40  delete a;
41  }
42  Lista.clear();
43  }
44 
45 
46 public:
47 
50  {
51  }
52 
55  {
56  BorrarTodo();
57  }
58 
60  virtual int Adicionar(void) = 0;
61 
63  virtual int Adicionar(int pos) = 0;
64 
66  virtual int LeerAdiciona(FILE *file) = 0;
67 
69  int Visualiza(int pos);
70 
72  int VisualizaTodos(void);
73 
75  int Borrar(int pos);
76 
78  int Modificar(int pos);
79 
81  int Leer(const char *file);
82 
84  int Grabar(const char *file);
85 
86 
88  inline int RegresaNRegs(void)
89  {
90  return Lista.size();
91  }
92 
93 };
94 
95 
102 #endif
list< Registro * > Lista
Lista doblemente ligada de la libreria STL.
Definition: EstructuraABC.hpp:29
int RegresaNRegs(void)
Regresa el numero de registros en la lista.
Definition: EstructuraABC.hpp:88
Clase Base para manipular registros.
Definition: Registro.hpp:17
list< Registro * >::iterator It
Iterador bidireccional para manipular a la lista.
Definition: EstructuraABC.hpp:32
EstructuraABC(void)
Constructor de la clase.
Definition: EstructuraABC.hpp:49
~EstructuraABC(void)
Destructor de la clase.
Definition: EstructuraABC.hpp:54
void BorrarTodo(void)
Borra todo el contenido de la lista.
Definition: EstructuraABC.hpp:35
Clase base para manipular Altas-Bajas-Cambios.
Definition: EstructuraABC.hpp:23