GestoreDati.h
#include <string>
#include <array>
#include <vector>
class Animale
{
//dati costanti per l'animale
const int Inf;
const int Adu;
const int Vmx;
const int Fgl;
const int Quie;
const std::array<bool, 12> Mes;
const int Ide;
const int Grand;
std::wstring Nome;
std::wstring Alim;
std::wstring Colore;
const bool Femmina;
//dati che variano runtime
bool Spostami;
bool Cancellami;
int MeseNascita;
int EtaAttuale;
bool Accompagnato;
bool Marcato;
bool Esente;
public:
//funzioni riferite a costanti && uguali per tutti i tipi
const int Animale::GetGrand();
const std::wstring Animale::GetAlim();
const std::wstring Animale::GetColor();
const int Animale::GetVmx();
const std::array<bool, 12> Animale::GetListaMesi();
const int Animale::GetIde();
const int Animale::GetFgl();
const bool Animale::Val1Mese(int i);
const std::wstring DatManoFun(int i);
//funzioni riferite a variabili && uguali per tutti i tipi
/*int Animale::GetEsente();
void Animale::SetEsente(bool set);
bool Animale::GetSpostami();
bool Animale::GetCancellami();
void Animale::SetCancellami(bool tf);
void Animale::SetSpostami(bool tf);
bool Animale::GetFem();
bool Animale::GetAccompagnato();
void Animale::SetAccompagnato(bool tf);
int Animale::GetPeriodoVitale();
void Animale::SetMeseNascita(int mese);
int Animale::GetMeseNascita();
void Animale::Cresci();
int Animale::GetEtaAtt();*/
Animale(int ide, std::wstring numen, int inf, int adu, int vmx, int fgl, int lung, std::array<bool, 12> mes, std::wstring colore, std::wstring alim, int quie, bool fem);
~Animale();
};
class TipiAnimale
{
static std::vector<Animale> ListaTipi;
public:
static int TipiAnimale::ListaTipiCount();
static Animale TipiAnimale::GetTipoAnimale(int a);
static void TipiAnimale::AddTipoAnimale(Animale a);
static void TipiAnimale::RmvTipoAnimale(int a);
static void TipiAnimale::ClearListaTipi();
};
GestoreDati.cpp
#include "GestoreDati.h"
using namespace std;
const int Animale::GetGrand() { return Grand; }
const wstring Animale::GetAlim() { return Alim; }
const wstring Animale::GetColor() { return Colore; }
const int Animale::GetVmx() { return Vmx; }
const array<bool, 12> Animale::GetListaMesi() { return Mes; }
const int Animale::GetIde() { return Ide; }
const int Animale::GetFgl() { return Fgl; }
const bool Animale::Val1Mese(int i) { return Mes[i]; }
const wstring Animale::DatManoFun(int i)
{
array<wstring, 5> DatiMano{ Colore, Nome, to_wstring(Vmx), to_wstring(Grand), Alim };
return DatiMano[i];
}
Animale::Animale(int ide, wstring numen, int inf, int adu, int vmx, int fgl, int lung, array<bool, 12> mes, wstring colore, wstring alim, int quie, bool fem) :
Ide(ide), Nome(numen), Inf(inf), Adu(adu), Vmx(vmx), Fgl(fgl), Grand(lung), Mes(mes), Colore(colore), Alim(alim), Quie(quie), Femmina(fem)
{
}
Animale::~Animale()
{
}
int TipiAnimale::ListaTipiCount() { return ListaTipi.size(); }
Animale TipiAnimale::GetTipoAnimale(int a) { return ListaTipi.at(a); }
void TipiAnimale::AddTipoAnimale(Animale a)
{
ListaTipi.push_back(a);
}
void TipiAnimale::RmvTipoAnimale(int a) { ListaTipi.erase(ListaTipi.begin() + a); }
void TipiAnimale::ClearListaTipi() { ListaTipi.clear(); }