// asignatura.h - Declaración de la clase CAsignatura
#if !defined( _ASIGNATURA_H_ )
#define _ASIGNATURA_H_
#include <string>
#include <vector>
#include "fecha.h"
#include "convocatoria.h"
using namespace std;

class CAsignatura
{
  private:
    int ID;        // identificador de la asignatura
    string nombre; // nombre de la asignatura
    CFecha fecha;  // primera vez que se realizó la matrícula
    vector<CConvocatoria> convocatorias;
  public:
    CAsignatura(int id = 999999, string nom = "");
    void asignarID(int id);
    int obtenerID();
    void asignarNombre(string nom);
    string obtenerNombre();
    bool asignarFecha(CFecha& f);
    const CFecha& obtenerFecha();
    CConvocatoria& obtenerConvocatoria(unsigned int i);
    void anyadirConvocatoria(CConvocatoria& c);
    size_t convocatoriasConsumidas();
    CAsignatura& operator<<(CConvocatoria& conv);
    operator bool();
};

#endif // _ASIGNATURA_H_

