TRENO
#ifndef TRENO_H_
#define TRENO_H_
#include<iostream>
using namespace std;
#include<fstream>
class Treno
{
friend ostream& operator<<(ostream& out, const Treno& t);
public:
Treno();
Treno(int numeroTreno);
void setNumeroTreno(int);
void setNumeroPosto(int);
void setPrezzo(double);
int getNumeroTreno()const;
virtual int getNumeroPosto() = 0;
virtual double getPrezzo() = 0;
protected:
int numeroTreno;
int numeroPosto;
double prezzo;
};
#endif
PRENOTAZIONE
#ifndef PRENOTAZIONE_H_
#define PRENOTAZIONE_H_
#include<iostream>
using namespace std;
#include"Espresso.h"
#include"Frecciarossa.h"
#include"Intercity.h"
#include<string>
class Prenotazione
{
friend ostream& operator <<(ostream& out, const Prenotazione& p);
public:
Prenotazione(Treno*, string partenza, string arrivo, int distanza, int classe, string nomePasseggero);
void setTreno(Treno* t);
void setPartenza(string partenza);
void setArrivo(string arrivo);
void setDistanza(int distanza);
void setClasse(int classe);
void setNomePasseggero(string nomePasseggero);
Treno* getTreno();
string getPartenza();
string getArrivo();
int getDistanza();
int getClasse();
string getNomePasseggero();
double getCostoTotale();
bool operator==(const Prenotazione& p)const;
private:
Treno* treno;
string partenza;
string arrivo;
int distanza;
int classe;
string nomePasseggero;
};
#endif
INTERCITY
#ifndef INTERCITY_H_
#define INTERCITY_H_
#include<iostream>
using namespace std;
#include"Treno.h"
#include<fstream>
class Intercity : public Treno
{
public:
Intercity(int numeroTreno);
virtual int getNumeroPosto();
virtual double getPrezzo();
};
#endif
MAIN
#include<iostream>
#include"Prenotazione.h"
#include"Treno.h"
#include"GestorePrenotazione.h"
#include"Intercity.h"
#include"Frecciarossa.h"
#include"Espresso.h"
using namespace std;
int main()
{
GestorePrenotazione gs;
Treno* t1;
//t1->setNumeroTreno(222);
Prenotazione p1(t1,"torino","roma",500,2,"Giovanni");
//gs.aggiungiPrenotazione(p1);
cout << p1;
// GestorePrenotazione gp;
// gp.leggiPrenotazione("input.txt");
// gp.stampaPrenotazione("output.txt");
// cout<<gp<<endl;
return 0;
}
Se serve anche il cpp ditemelo..ho messo solo intercity perche tanto espresso e frecciarossa sono uguali..