#ifndef CLASE_H
#define CLASE_H
#include<iostream>
using namespace std;

//OJO: CAMBIE LA PALABRA "Clase" POR EL NOMBRE DE LA CLASE
//QUE LE FUE ASIGANADA POR EL PROFESOR. LO DEBE HACER EN TODO
//EL ARCHIVO

typedef struct{
//CAMPOS IGUALES A LOS ATRIBUTOS DE LA CLASE QUE DEBE DESARROLLAR
} Estructura;

class Clase{
	/*Definicion de atributos de la clase 
 	* Asignada al estudiante
	* Estos atributos se declaran de tipo 
	* privado, es decir, ninguna otra clase 
	* o programa va a poder acceder 
	* directamente a estos campos
	*/
	protected:
		//atributos
	public:
		/*Prototipos de los metodos de la clase 
		* La implantacion de dichos metodos 
		* se deben implementar en el archivo Clase.cpp
		*/
	
		//Constructores
		Clase();		  //Por omisión
		Clase(const Clase& ); //Por copia
		//Clase( //Parametros ); 

		//Metodos de acceso

		//Metodos de modificacion
	
		//Destructor
		~Clase();

		//GESTION DE LA CLAVE
		//OJO, CAMBIE VOID POR EL TIPO DE DATO DE SU CLAVE
		void obtenerClave();
		void asignarClave();

		//FUNCION HASH
		//AQUI DEBE IMPLEMENTAR LA FUNCION QUE CONVIERTA UNA CLAVE
		//A UNA POSICION EN EL ARCHIVO
		int hash();
	
		//Sobrecarga de operadores.
		//ESTOS OPERADORES LOS DEBE DESARROLLAR PARA PODER UTILIZAR
		//LA PLANTILLA
		friend ostream &operator<<(ostream &, const Clase &);
		friend istream &operator>>(istream &, Clase &);

};

#endif

