-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTrajetCompose.cpp
115 lines (84 loc) · 2.91 KB
/
TrajetCompose.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*************************************************************************
TrajetCompose - description
-------------------
début : 3/12/2017
copyright : (C) 2017 par Joan Capell, Hua Yang
e-mail : [email protected]
*************************************************************************/
//---------- Réalisation de la classe <TrajetCompose> (fichier TrajetCompose.cpp) ------------
//---------------------------------------------------------------- INCLUDE
//-------------------------------------------------------- Include système
using namespace std;
#include <iostream>
#include <string>
//------------------------------------------------------ Include personnel
#include "TrajetCompose.h"
//------------------------------------------------------------- Constantes
//----------------------------------------------------------------- PUBLIC
//----------------------------------------------------- Méthodes publiques
// type TrajetCompose::Méthode ( liste des paramètres )
// Algorithme :
//
//{
//} //----- Fin de Méthode
const string TrajetCompose::toString() const{
string r="TC ";
r+=to_string(nElements);
r+=" ";
for(int i=0;i<nElements;i++){
string aux(tabTrajets[i]->getDepart());
r+=aux+" ";
}
string aux(getDestination());
r+=aux+" ";
for(int i=0;i<nElements-1;i++){
r+=tabTrajets[i]->getTransport()+" ";
}
r+=tabTrajets[nElements-1]->getTransport();
return r;
}
const string TrajetCompose::getTransport() const{
return "Train";
}
void TrajetCompose::Afficher() const{
cout<<"TC ";
for(int i=0;i<nElements;i++){
tabTrajets[i]->Afficher();
if(i!=nElements-1) cout<<" - ";
}
}
const char * TrajetCompose::getDepart() const{
//le deapart est la ville de depart du premier trajet
return tabTrajets[0]->getDepart();
}
const char * TrajetCompose::getDestination() const{
//la destination est la ville d'arrive du dernier trajet
return tabTrajets[nElements-1]->getDestination();
}
TrajetCompose * TrajetCompose::Clone() const{
return new TrajetCompose(*this);
}
//-------------------------------------------- Constructeurs - destructeur
TrajetCompose::TrajetCompose ( int t) : TabTrajets(t)
// Algorithme :
//
{
#ifdef MAP
cout << "Appel au constructeur de <TrajetCompose>" << endl;
#endif
} //----- Fin de TrajetCompose
TrajetCompose::TrajetCompose ( const TabTrajets & tab ) : TabTrajets(tab)
// Algorithme :
//
{
#ifdef MAP
cout << "Appel au constructeur de <TrajetCompose>" << endl;
#endif
} //----- Fin de TrajetCompose
TrajetCompose::TrajetCompose(const TrajetCompose & t) : TabTrajets(t)
{
}
TrajetCompose::~TrajetCompose() {
}
//------------------------------------------------------------------ PRIVE
//----------------------------------------------------- Méthodes protégées