Programmation Orienté Objet en C++ Ricard julien
Organisation Cours TD Correction TP TP Adresage : Tableau Pointeur Référence Tableau Liste, arbre et autres structures dynamique TD Correction TP TP Programmation Orienté Objet en C++
Variable Qu’est ce qu’un variable ? C++ langage prédéclaratif Zone mémoire permettant de stocher des valeurs. C++ langage prédéclaratif Déclaration d’une variable associe : Nom de la variable Type de la variable Opération possible int a =2 ; Programmation Orienté Objet en C++
Type Type primitif (surensemble du langage C) Type dérivé Bool, char, int , short, long, float, double, long double, wchar_t Type dérivé Tableau de …, pointeur sur et référence vers. Type défini par l’utilisateur Class, énumération, structure et unions int a =2 ; int* tab =new int[10] ; Rationnel A(1,2); Programmation Orienté Objet en C++
Type primitif Enumération bool trouve = false ; int min, max =0; const int valeur =125; long int adresse; char c; unsigned int position; float coef ; const double PI = 3.1415926535; Enumération enum couleur { bleu, rouge, vert }; couleur peinture= bleu; Programmation Orienté Objet en C++
Type dérivés Tableau constant Initialisation de tableau int tab[10]; char ligne[NB_ELEMENT]; float matrice[10][10]; int tab[5] = { 1, 4, 3, 2 }; double vect [] = { 1.2, 3.4, 4.5, 6.2 }; char message[] = ‘’OK’’ ; int y[2][3] = { {3, 2, 1} , {3,2} }; int tab[5]; tab={1,2,3,4,5}; Programmation Orienté Objet en C++
Pointeur Une pointeur est le type d’une variable contenant l’adresses d’un objet… 3 123457 123456 float int a ; a=3; 123457 int 123458 int* p ; p= &a; 123459 int* 123460 123470 Programmation Orienté Objet en C++
Notation « T* » : défini le type d’une variable contenant l’adresse d’un objet de type T. « &v » : fourni l’adresse de la variable v. « *p » : fourni l’objet pointé. int a=3; int* p ; p=&a; *p=4; Programmation Orienté Objet en C++
Tableau dynamique Allocation Utilisation Destruction int *p = new int; int *tab = new int[12]; *p=3; tab[0]=2; tab[1]=3; *(tab+1)=4; delete p; delete[] tab; Programmation Orienté Objet en C++
Type défini par l’utilisateur strurct Personne { char nom[50]; short age; } Personne moi ={ ‘’Julien’’ , 3 }; Personne *p = &moi; moi.age = 25; cout << moi.nom << ‘’ a ‘’ << moi.age ; Structure Union union nombre { int i; float x; double x2; } Programmation Orienté Objet en C++
La classe La classe Attributs Méthodes class Pile { public: Pile(); … private: int sommet; int nbElement; int* lesElements; } Programmation Orienté Objet en C++
Correction du TP Remarque générales : Faire un main claire et qui execute les différents cas. Commenter votre code. Programmation Orienté Objet en C++
TP List Item Item Item On cherche à construire une liste chaînée (cf. cours algo.) dont les maillons sont des instances d’une classe Item et la chaîne dans son ensemble est représentée par une instance d’une classe List. Le schéma ci-dessous illustre la structure à réaliser : Créer la classe Item ( choisir un format de données à y stocker) avec toutes les méthodes nécessaires à l’initialisation d’un élément, sa destruction, son affichage, sa modification/manipulation. Créer la classe List (avec seulement la référence au premier élément) munie des méthodes permettant de faire les opérations classiques sur une liste : création(s) d’une liste, destruction d’une liste, insertion d’un élément, suppression d’un élément, recherche d’un élément (suivant différentes façons…), affichage d’une liste Si il vous reste du temps, vous pouvez coder la fonctions de tri que nous avons vue en TD. A voir : placer la partie de code contenant la déclaration des classes Item et List dans un fichier nommé list.h ; placer la définition de ces classes dans un autre fichier nommé list.cpp ; placer la méthode void main() dans un troisième fichier nommé TP3.cpp . En utilisant l’instruction de compilation #include.. , faire que toutes les méthodes appelées dans ces trois fichiers soient correctement déclarées/définies. A l’aide de la fonction « Projet » disponible dans VisualC++, obtenir la compilation de ce programme constitué de plusieurs fichiers sources. Programmation Orienté Objet en C++