modif du tp3 de Cpp

master
antoine.perederii 2 years ago
parent 6d7420d343
commit 1d61c7b67c

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,4 +1,5 @@
#include "passager.hpp"
#include "wagon.hpp"
#include <iostream>
#include <string>
@ -12,5 +13,8 @@ Wagon Passager::getWagonActuel() const {
return *wagonActuel;
}
ostream &operator<<(ostream &s, const Passager &p) {
s << "Passager : " << p.nom << p.prenom << endl;
return s;
}

@ -2,7 +2,8 @@
#define PASSAGER_HPP
#include <string>
#include "wagon.hpp"
class Wagon;
class Passager {
private :
@ -20,6 +21,7 @@ public :
friend std::ostream &operator<<(std::ostream &s, const Passager &p);
~Passager();
};

@ -8,19 +8,19 @@
using namespace std;
void testPassager(void) {
Passager lePassager("Passager 1", "Prenom 1");
cout << lePassager.getNom() << endl;
Passager lePassager("Nom", "Prenom");
cout << lePassager << endl;
}
void testWagon(void) {
Wagon leWagon("Wagon 1");
cout << leWagon.getNom() << endl;
Wagon leWagon(1);
cout << leWagon << endl;
}
void testTrain(void) {
Train leTrain("Train 1");
cout << leTrain.getNom() << endl;
}
// void testTrain(void) {
// Train leTrain("Train 1");
// cout << leTrain.getNom() << endl;
// }
int main() {
testPassager();

@ -1,29 +1,33 @@
#include "wagon.hpp"
#include "passager.hpp"
#include <iostream>
#include <string>
using namespace std;
Wagon::Wagon(int numero)
:numero{numero}
{}
int Wagon::ajouter(Passager lePassager) {
if(lesPassagers->size() == capacite) {
int Wagon::ajouter(Passager& lePassager) {
if(lesPassagers.size() == capacite) {
return -1;
}
lesPassagers->push_back(lePassager);
lesPassagers.push_back(&lePassager);
return 0;
}
int Wagon::enlever(Passager lePassager) {
if(lesPassagers->size() == 0) {
return -1;
}
lesPassagers->remove(lePassager);
return 0;
int Wagon::enlever(Passager& lePassager) {
list<Passager*>::iterator it = find(lesPassagers.begin(), lesPassagers.end(), &lePassager);
if(it == lesPassagers.end()) return 0;
lesPassagers.erase(it);
return 1;
}
ostream &operator<<(ostream &s, const Passager &p) {
s << "Wagon n° " << w.numero << " : " << w.nbPassagers->size() << " passager(s)." << endl;
s << "Reste " << w.capacite - w.nbPassagers->size() << " places(s)." << endl;
s << "Liste des passagers :\n" << w.
ostream &operator<<(ostream &s, const Wagon &w) {
s << "Wagon n° " << w.numero << " : " << w.lesPassagers->size() << " passager(s)." << endl;
s << "Reste " << w.capacite - w.lesPassagers->size() << " places(s)." << endl;
s << "Liste des passagers :\n" << w.lesPassagers << endl;
return s;
}

@ -3,7 +3,8 @@
#include <string>
#include <list>
#include "passager.hpp"
class Passager;
class Wagon {
@ -11,7 +12,7 @@ private :
int numero;
std::list<Passager> *lesPassagers;
std::list<Passager*> lesPassagers;
public :
@ -19,10 +20,10 @@ public :
Wagon(int numero);
int ajouter(Passager lePassager);
int enlever(Passager lePassager);
int ajouter(Passager& lePassager);
int enlever(Passager& lePassager);
friend std::ostream &operator<<(std::ostream &s, const Passager &w);
friend std::ostream &operator<<(std::ostream &s, const Wagon &w);
~Wagon() = default; //~Wagon(){};
};

Loading…
Cancel
Save