Informatique 1 programmation orienté objet en C++

Transcription

Informatique 1 programmation orienté objet en C++
Informatique 1
programmation orienté objet en C++
vector comme l'alternatif pour Arrays:
Des champs ou Arrays sont une partie importante des langages de programmation, puisque ils permettent de
s'adresser aux données faisant la paire sur un point de référence pour pouvoir s'adresser à tous les éléments
stockés l'un après l'autre par exemple avec une boucle.
L'exemple suivant saisit les prénoms d'une famille :
int main() {
string label[]={"Pere","Mere","enfant 1", "enfant 2"};
string family[4]; //hier werden die Vornamen gespeichert
for(int i=0;i<4;i++) {
cout << "SVP entrez le prenom de " << label[i] << endl;
cin >> family[i];
}
SVP entrez le prenom de Pere
cout << "Les membres de la famille s'appellent : " << endl;
for(int i=0;i<4;i++) {
cout << label[i] << ": " << family[i] << endl;
}
return 0;
}
Pierre
SVP entrez le prenom de Mere
Mathilda
SVP entrez le prenom de enfant 1
Jean
SVP entrez le prenom de enfant 2
Claudine
Les membres de la famille s'appellent:
Pere: Pierre
Mere: Mathilda
enfant 1: Jean
enfant 2: Claudine
Question:
Comment le programme devrait être changé, s'il y a une naissance dans la famille, donc un autre enfant
s'ajoute ?
Nous faisons par la suite la même chose avec une classe de la bibliothèque de standard (STL) vector :
int main() {
string label[]={"Pere","Mere","enfant 1", "enfant 2"};
vector<string> family; //hier werden die Vornamen gespeichert
string input; //zum Einlesen eines Vornamens
for(int i=0;i<4;i++) {
cout << "SVP entrez le prenom de " << label[i] << endl;
cin >> input;
family.push_back(input); //eingelesenen Vornamen zur Liste hinzufügen
}
cout << "Les membres de la famille s'appellent : " << endl;
for(int i=0;i<family.size();i++) {
cout << label[i] << ": " << family[i] << endl;
}
return 0;
}
A trois places dans le programme (sélectionné jaune), on voit l'avantage d'une vector par rapport d'un Array.
• Il n'est pas nécessaire de déclarer la taille.
• Il n'est pas nécessaire de passer un index en ajoutant un nouvel élément
• La quantité des éléments stockés dans la liste peut être découverte avec la méthode size() de l'objet
vector.