You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1011 B
42 lines
1011 B
#ifndef TRAIN_HPP
|
|
#define TRAIN_HPP
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "wagon.hpp"
|
|
|
|
class Passager; //// nécessaire pour pouvoir en prendre par ref en param des méthodes
|
|
|
|
class Train {
|
|
private :
|
|
|
|
bool roule;
|
|
|
|
// std::list<Wagon*> lesWagons;
|
|
std::vector<Wagon> lesWagons; //// on avait dit en tp que ce serait un vector de wagon
|
|
|
|
public :
|
|
|
|
Train(int nombreDeWagons);
|
|
|
|
void demarrer();
|
|
void arreter();
|
|
bool isRoule() const;
|
|
|
|
int monterDansLeTrain(int numeroWagon, Passager& lePassager);
|
|
int descendreDuTrain(Passager& lePassager);
|
|
int deplacerAuWagonSuivant(Passager& lePassager);
|
|
int deplacerAuWagonPrecedent(Passager& lePassager);
|
|
|
|
int monterDansLeTrainAPartirDe(int numeroWagon, Passager& lePassager);
|
|
|
|
friend std::ostream &operator<<(std::ostream &s, const Train &t); /// ne pas oublier cette ligne !!!
|
|
~Train() = default;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // TRAIN_HPP
|