04.72.44.83.95 Programmation Orienté Objet en C++ Ricard julien.

Slides:



Advertisements
Présentations similaires
Programmation Orienté Objet en C++
Advertisements

Programmation Orienté Objet en C++
C++ 6ème cours Patrick Reuter maître de conférences
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.
Algorithme et structure de données
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Programmation Orientée Objet (POO)
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Chapitre IV Object, interfaces, classes imbriquées.
Athapascan-1 Interface C++ de programmation parallèle
Structures de données et algorithmes – C5 Maria-Iuliana Dascalu, PhD
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
Langage Oriente Objet Cours 4.
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
Les tris.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Langage Oriente Objet Cours 2.
Leçon 2 : Surcharge des opérateurs IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Structures de données IFT-2000
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Cours du 22 novembre généricité. Chapitre VII Généricité.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Héritage Lhéritage permet de spécialiser une classe en définissant une relation de type « est une sorte de ». #include comptebancaire.h class CompteEpargne.
Java, les objets : tout de suite ! Rassembler, grouper les objets
Programmation Orienté Objet en C++ Ricard julien.
Structures de données IFT-2000 Abder Alikacem Retour sur les listes ordonnées Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000
Introduction à la programmation orientée objet
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 3 Polymorphisme I.
Le langage C Structures de données
(Vient du grec et signifie « Peut prendre plusieurs formes »)
AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Entier { int i; int lit_i(void); void Ecrit_i(int); }; int Entier::lit_i(void)
2.1 - Historique Chapitre 2 : Introduction au langage C++
Correction TP1 Exercice 4.
Le langage C Rappel Pointeurs & Allocation de mémoire.
4 Introduction des objets. Les chaînes et tableaux
LES PILES ET FILES.
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Programmation en Java Tableaux NGUYEN Thi Minh Tuyen
La notion de type revisitée en POO
et quelques rappels sur certains éléments du langage C
11/04/ L'héritage Cours 7 Cours 7.
Cours 7 Classes locales Clonage Divers: tableaux.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que l’on veut allouer. Le premier exemple: #include void main()
Tutorat en bio-informatique
PHP 7° PARTIE : PROGRAMMATION OBJET
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
Réaliser par: Sadok Amel Cheboui hassiba
Strings et Tableaux en Java
Structures de données avancées : Arbres ‘Left Leaning Red-Black’
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les surcharges d'opérateurs
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Cours du 5 novembre.
6ième Classe (Mercredi, 17 novembre) CSI2572
Chapitre VII Techniques plus avancées à travers le concept de classe.
LIFI-Java 2004 Séance du Mercredi 29 sept. Cours 4.
Héritage Conception par Objet et programmation Java
Programmation Orienté Objet en C++
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 2.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Transcription de la présentation:

Programmation Orienté Objet en C++ Ricard julien

Programmation Orienté Objet en C++ 2 Organisation de la matiné Pointeur This Correcton TP Arbre – Pointeur this Entrées - Sorties TP Entrée Sortie : Création d’un image… Les 7 séances prochaines :  PROJET CPP

Programmation Orienté Objet en C++ 3 Pointeur This Pointeur This : Dans l’écriture des fonctions membres, il est possible d’accéder à l’adresse de la variable classe, par l’intermédiaire du mot clé « this ». Objet : Attributs : int a; Méthodes Membres : Constructeur Descructeur void affichage(); Autre méthodes { this->affichage(); if(this==NULL)…. } main() 0bjet* A=new Objet(); A->a=12; A->affichage(); }

Programmation Orienté Objet en C++ 4 Corretion TP Arbre - Pointeur This class Arbre { public : Arbre(int v=0, Arbre* fg=NULL, Arbre* fd=NULL); ~Arbre(); Arbre* ajout(int v); int maximum(); Arbre* supprimer_max(); Arbre* supression(int v); void parcours_infixe(); int tri_parcours_infixe(int* tabT, int id=0); void Aff(int i=0); private : Arbre* FG;Arbre* FD;int val; };

Programmation Orienté Objet en C++ 5 Main Arbre* A=NULL; for(i=0;i ajout(rand()%30); A->Aff(); A->parcours_infixe(); int* tab= new int[N]; A->tri_parcours_infixe(tab); for(i=0;i<N;i++){ A=A->supression(tab[i]); A->Aff(); } int *tab= new int [N]; for(i=0;i<N;i++) tab[i]=rand()%30; int* tabT=tri_tab(tab,N);

Programmation Orienté Objet en C++ 6 Constructeur destructeur Arbre::Arbre(int v,Arbre* fg, Arbre* fd){ FD=fd; FG=fg; val=v; } Arbre::~Arbre(){ if(this!=NULL){ if(FD!=NULL) delete FD; if(FG!=NULL) delete FG; }

Programmation Orienté Objet en C++ 7 Ajout Arbre* Arbre::ajout(int e){ if(this==NULL){ return (new Arbre(e)); } else if(e <val) FG=FG->ajout(e); else FD=FD->ajout(e); return this; }

Programmation Orienté Objet en C++ 8 Affichage void Arbre::Aff(int i){ if(this==NULL) cout << "{}" ; else { cout <<"{" << val <<","; FG->Aff(i+1); cout << "," ; FD->Aff(i+1); cout << "}"; } if(i==0) cout<< endl; }

Programmation Orienté Objet en C++ 9 Suppression Arbre* Arbre::supression(int e){ if( this==NULL) return NULL; if(e==val) if((FG==NULL)&&(FD==NULL)) delete this; return NULL; if(FG==NULL) Arbre* tmp=FD; FG=NULL; FD=NULL; delete this; return tmp; if(FD==NULL) Arbre* tmp=FG; FG=NULL; FD=NULL; delete this; return tmp; val=FD->maximum(); FD=FD->supprimer_max(); return this; else if( val supression(e); if( val>e) FD=FD->supression(e); return this; }

Programmation Orienté Objet en C++ 10 Entrée Sortie Entrée sortie standart  Iostream regroupe istream et ostream Classe ostream  Sortie standart : cout et surcharge l’opérateur <<  Autre fonctions:  cout.put(char c);  cout.write(char* tabC, int n);  cout.flush();

Programmation Orienté Objet en C++ 11 istream Classe istream  Entrées strandart : cin et surcharge de >>  Autre fonctions :  int cin.get(); ou cin.get(char &c);  Int cin.peek();  Cin.get(char*ch,int n, cahr delin =‘\n’);  Cin.read(char*ch,int n, cahr delin =‘\n’);  Int cin.gcount();  Cin.flush();

Programmation Orienté Objet en C++ 12 Les fichiers Classe fstream regroupe ofstream et ifstream ofstream fichierSortie(’’nom_fichier.txt’’, ios::out); if(!fichierSortie)cout << ’’Problème d’ouverture ’’; fichierSortie << ’’On écrit ce que l’on veux’’; char tab[100]; fichierSortie.write(tab,100); fichierSortie.close(); ifstream fichierEntree(’’nom_fichier.txt’’, ios::out); if(! fichierEntree) cout << ’’Problème d’ouverture ’’; char tmp[1024]; fichierEntree >> tmp; char tab[100]; fichierEntree.read(tab,100); fichierEntree.close();

Programmation Orienté Objet en C++ 13 Option d’ouverture ios::out : ouverture en écriture ios::in: ouverture en lecture ios::ate: possitionnement en fin de fichier ios::app: ouverture en allongement ios::trunc: perte de l’ancien contenu ios::binary: binaire