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.