Como el ctor de copia no me sirve dado la herencia, necesito
una forma de clonar claves independientemente de su tipo.
if (root_header.free_space >= k.Size ()) {
std::cout << "Hay lugar para meter la clave" << std::endl;
if (root_header.free_space >= k.Size ()) {
std::cout << "Hay lugar para meter la clave" << std::endl;
+ /* TODO : Insertar ordenado */
+ node_keys.push_back (k.Clone ());
} else {
std::cout << "__NO__ hay lugar para meter la clave" << std::endl;
}
} else {
std::cout << "__NO__ hay lugar para meter la clave" << std::endl;
}
public:
virtual ~Clave () {}
public:
virtual ~Clave () {}
- virtual uint Size () = 0;
- virtual uchar *ToArray () = 0;
+ virtual uint Size () const = 0;
+ virtual uchar *ToArray () const = 0;
+ virtual Clave *Clone () const = 0;
+Clave *ClaveFija::Clone () const
+{
+ ClaveFija *k = new ClaveFija (*this);
+ return k;
+}
+
uint Size () const;
uchar *ToArray () const;
uint Size () const;
uchar *ToArray () const;